Nasan Hull-smoothed envelope The Nasan Hull-Smoothed Envelope indicator is a sophisticated overlay designed to track price movement within an adaptive "envelope." It dynamically adjusts to market volatility and trend strength, using a series of smoothing and volatility-correction techniques. Here's a detailed breakdown of its components, from the input settings to the calculated visual elements:
Inputs
look_back_length (500):
Defines the lookback period for calculating intraday volatility (IDV), smoothing it over time. A higher value means the indicator considers a longer historical range for volatility calculations.
sl (50):
Sets the smoothing length for the Hull Moving Average (HMA). The HMA smooths various lines, creating a balance between sensitivity and stability in trend signals.
mp (1.5):
Multiplier for IDV, scaling the volatility impact on the envelope. A higher multiplier widens the envelope to accommodate higher volatility, while a lower one tightens it.
p (0.625):
Weight factor that determines the balance between extremes (highest high and lowest low) and averages (sma of high and sma of low) in the high/low calculations. A higher p gives more weight to extremes, making the envelope more responsive to abrupt market changes.
Volatility Calculation (IDV)
The Intraday Volatility (IDV) metric represents the average volatility per bar as an exponentially smoothed ratio of the high-low range to the close price. This is calculated over the look_back_length period, providing a base volatility value which is then scaled by mp. The IDV enables the envelope to dynamically widen or narrow with market volatility, making it sensitive to current market conditions.
Composite High and Low Bands
The high and low bands define the upper and lower bounds of the envelope.
High Calculation
a_high:
Uses a multi-period approach to capture the highest highs over several intervals (5, 8, 13, 21, and 34 bars). Averaging these highs provides a more stable reference for the high end of the envelope, capturing both immediate and recent peak values.
b_high:
Computes the average of shorter simple moving averages (5, 8, and 13 bars) of the high prices, smoothing out fluctuations in the recent highs. This generates a balanced view of high price trends.
high_c:
Combines a_high and b_high using the weight p. This blend creates a composite high that balances between recent peaks and smoothed averages, making the upper envelope boundary adaptive to short-term price shifts.
Low Calculation
a_low and b_low:
Similar to the high calculation, these capture extreme lows and smooth low values over the same intervals. This approach creates a stable and adaptive lower bound for the envelope.
low_c:
Combines a_low and b_low using the weight p, resulting in a composite low that adjusts to price fluctuations while maintaining a stable trend line.
Volatility-Adjusted Bands
The final composite high (c_high) and composite low (c_low) bands are adjusted using IDV, which accounts for intraday volatility. When volatility is high, the bands expand; when it’s low, they contract, providing a visual representation of volatility-adjusted price bounds.
Basis Line
The basis line is a Hull Moving Average (HMA) of the average of c_high and c_low. The HMA is known for its smoothness and responsiveness, making the basis line a central trend indicator. The color of the basis line changes:
Green when the basis line is increasing.
Red when the basis line is decreasing.
This color-coded basis line serves as a quick visual reference for trend direction.
Short-Term Trend Strength Block
This component analyzes recent price action to assess short-term bullish and bearish momentum.
Conditions (green, red, green1, red1):
These are binary conditions that categorize price movements as bullish or bearish based on the close compared to the open and the close’s relationship with the exponential moving average (EMA). This separation helps capture different types of strength (above/below EMA) and different bullish or bearish patterns.
Composite Trend Strength Values:
Each of the bullish and bearish counts (above and below the EMA) is normalized, resulting in the following values:
green_EMAup_a and red_EMAup_a for bullish and bearish strength above the EMA.
green_EMAdown_a and red_EMAdown_a for bullish and bearish strength below the EMA.
Trend Strength (t_s):
This calculated metric combines the normalized trend strengths with extra weight to conditions above the EMA, giving more relevance to trends that have momentum behind them.
Enhanced Trend Strength
avg_movement:
Calculates the average absolute price movement over the short_term_length, providing a measurement of recent price activity that scales with volatility.
enhanced_t_s:
Multiplies t_s by avg_movement, creating an enhanced trend strength value that reflects both directional strength and the magnitude of recent price movement.
min and max:
Minimum and maximum percentile thresholds, respectively, based on enhanced_t_s for controlling the color gradient in the fill area.
Fill Area
The fill area between plot_c_high and plot_c_low is color-coded based on the enhanced trend strength (enhanced_t_s):
Gradient color transitions from blue to green based on the strength level, with blue representing weaker trends and green indicating stronger trends.
This visual fill provides an at-a-glance assessment of trend strength across the envelope, with color shifts highlighting momentum shifts.
Summary
The indicator’s purpose is to offer an adaptive price envelope that reflects real-time market volatility and trend strength. Here’s what each component contributes:
Basis Line: A trend-following line in the center that adjusts color based on trend direction.
Envelope (c_high, c_low): Adapts to volatility by expanding and contracting based on IDV, giving traders a responsive view of expected price bounds.
Fill Area: A color-gradient region representing trend strength within the envelope, helping traders easily identify momentum changes.
Overall, this tool helps to identify trend direction, market volatility, and strength of price movements, allowing for more informed decisions based on visual cues around price boundaries and trend momentum.
חפש סקריפטים עבור "high low"
Price Action Smart Money Concepts [BigBeluga]THE SMART MONEY CONCEPTS Toolkit
The Smart Money Concepts [ BigBeluga ] is a comprehensive toolkit built around the principles of "smart money" behavior, which refers to the actions and strategies of institutional investors.
The Smart Money Concepts Toolkit brings together a suite of advanced indicators that are all interconnected and built around a unified concept: understanding and trading like institutional investors, or "smart money." These indicators are not just randomly chosen tools; they are features of a single overarching framework, which is why having them all in one place creates such a powerful system.
This all-in-one toolkit provides the user with a unique experience by automating most of the basic and advanced concepts on the chart, saving them time and improving their trading ideas.
Real-time market structure analysis simplifies complex trends by pinpointing key support, resistance, and breakout levels.
Advanced order block analysis leverages detailed volume data to pinpoint high-demand zones, revealing internal market sentiment and predicting potential reversals. This analysis utilizes bid/ask zones to provide supply/demand insights, empowering informed trading decisions.
Imbalance Concepts (FVG and Breakers) allows traders to identify potential market weaknesses and areas where price might be attracted to fill the gap, creating opportunities for entry and exit.
Swing failure patterns help traders identify potential entry points and rejection zones based on price swings.
Liquidity Concepts, our advanced liquidity algorithm, pinpoints high-impact events, allowing you to predict market shifts, strong price reactions, and potential stop-loss hunting zones. This gives traders an edge to make informed trading decisions based on liquidity dynamics.
🔵 FEATURES
The indicator has quite a lot of features that are provided below:
Swing market structure
Internal market structure
Mapping structure
Adjustable market structure
Strong/Weak H&L
Sweep
Volumetric Order block / Breakers
Fair Value Gaps / Breakers (multi-timeframe)
Swing Failure Patterns (multi-timeframe)
Deviation area
Equal H&L
Liquidity Prints
Buyside & Sellside
Sweep Area
Highs and Lows (multi-timeframe)
🔵 BASIC DEMONSTRATION OF ALL FEATURES
1. MARKET STRUCTURE
The preceding image illustrates the market structure functionality within the Smart Money Concepts indicator.
➤ Solid lines: These represent the core indicator's internal structure, forming the foundation for most other components. They visually depict the overall market direction and identify major reversal points marked by significant price movements (denoted as 'x').
➤ Internal Structure: These represent an alternative internal structure with the potential to drive more rapid market shifts. This is particularly relevant when a significant gap exists in the established swing structure, specifically between the Break of Structure (BOS) and the most recent Change of High/Low (CHoCH). Identifying these formations can offer opportunities for quicker entries and potential short-term reversals.
➤ Sweeps (x): These signify potential turning points in the market where liquidity is removed from the structure. This suggests a possible trend reversal and presents crucial entry opportunities. Sweeps are identified within both swing and internal structures, providing valuable insights for informed trading decisions.
➤ Mapping structure: A tool that automatically identifies and connects significant price highs and lows, creating a zig-zag pattern. It visualizes market structure, highlights trends, support/resistance levels, and potential breakouts. Helps traders quickly grasp price action patterns and make informed decisions.
➤ Color-coded candles based on market structure: These colors visually represent the underlying market structure, making it easier for traders to quickly identify trends.
➤ Extreme H&L: It visualizes market structure with extreme high and lows, which gives perspective for macro Market Structure.
2. VOLUMETRIC ORDER BLOCKS
Order blocks are specific areas on a financial chart where significant buying or selling activity has occurred. These are not just simple zones; they contain valuable information about market dynamics. Within each of these order blocks, volume bars represent the actual buying and selling activity that took place. These volume bars offer deeper insights into the strength of the order block by showing how much buying or selling power is concentrated in that specific zone.
Additionally, these order blocks can be transformed into Breaker Blocks. When an order block fails—meaning the price breaks through this zone without reversing—it becomes a breaker block. Breaker blocks are particularly useful for trading breakouts, as they signal that the market has shifted beyond a previously established zone, offering opportunities for traders to enter in the direction of the breakout.
Here's a breakdown:
➤ Bear Order Blocks (Red): These are zones where a lot of selling happened. Traders see these areas as places where sellers were strong, pushing the price down. When the price returns to these zones, it might face resistance and drop again.
➤ Bull Order Blocks (Green): These are zones where a lot of buying happened. Traders see these areas as places where buyers were strong, pushing the price up. When the price returns to these zones, it might find support and rise again.
These Order Blocks help traders identify potential areas for entering or exiting trades based on past market activity. The volume bars inside blocks show the amount of trading activity that occurred in these blocks, giving an idea of the strength of buying or selling pressure.
➤ Breaker Block: When an order block fails, meaning the price breaks through this zone without reversing, it becomes a breaker block. This indicates a significant shift in market liquidity and structure.
➤ A bearish breaker block occurs after a bullish order block fails. This typically happens when there's an upward trend, and a certain level that was expected to support the market's rise instead gives way, leading to a sharp decline. This decline indicates that sellers have overcome the buyers, absorbing liquidity and shifting the sentiment from bullish to bearish.
Conversely, a bullish breaker block is formed from the failure of a bearish order block. In a downtrend, when a level that was expected to act as resistance is breached, and the price shoots up, it signifies that buyers have taken control, overpowering the sellers.
3. FAIR VALUE GAPS:
A fair value gap (FVG), also referred to as an imbalance, is an essential concept in Smart Money trading. It highlights the supply and demand dynamics. This gap arises when there's a notable difference between the volume of buy and sell orders. FVGs can be found across various asset classes, including forex, commodities, stocks, and cryptocurrencies.
FVGs in this toolkit have the ability to detect raids of FVG which helps to identify potential price reversals.
Mitigation option helps to change from what source FVGs will be identified: Close, Wicks or AVG.
4. SWING FAILURE PATTERN (SFP):
The Swing Failure Pattern is a liquidity engineering pattern, generally used to fill large orders. This means, the SFP generally occurs when larger players push the price into liquidity pockets with the sole objective of filling their own positions.
SFP is a technical analysis tool designed to identify potential market reversals. It works by detecting instances where the price briefly breaks a previous high or low but fails to maintain that breakout, quickly reversing direction.
How it works:
Pattern Detection: The indicator scans for price movements that breach recent highs or lows.
Reversal Confirmation: If the price quickly reverses after breaching these levels, it's identified as an SFP.
➤ SFP Display:
Bullish SFP: Marked with a green symbol when price drops below a recent low before reversing upwards.
Bearish SFP: Marked with a red symbol when price rises above a recent high before reversing downwards.
➤ Deviation Levels: After detecting an SFP, the indicator projects white lines showing potential price deviation:
For bullish SFPs, the deviation line appears above the current price.
For bearish SFPs, the deviation line appears below the current price.
These deviation levels can serve as a potential trading opportunity or areas where the reversal might lose momentum.
With Volume Threshold and Filtering of SFP traders can adjust their trading style:
Volume Threshold: This setting allows traders to filter SFPs based on the volume of the reversal candle. By setting a higher volume threshold, traders can focus on potentially more significant reversals that are backed by higher trading activity.
SFP Filtering: This feature enables traders to filter SFP detection. It includes parameters such as:
5. LIQUIDITY CONCEPTS:
➤ Equal Lows (EQL) and Equal Highs (EQH) are important concepts in liquidity-based trading.
EQL: A series of two or more swing lows that occur at approximately the same price level.
EQH: A series of two or more swing highs that occur at approximately the same price level.
EQLs and EQHs are seen as potential liquidity pools where a large number of stop loss orders or limit orders may be clustered. They can be used as potential reverse points for trades.
This multi-period feature allows traders to select less and more significant EQL and EQH:
➤ Liquidity wicks:
Liquidity wicks are a minor representation of a stop-loss hunt during the retracement of a pivot point:
➤ Buy and Sell side liquidity:
The buy side liquidity represents a concentration of potential buy orders below the current price level. When price moves into this area, it can lead to increased buying pressure due to the execution of these orders.
The sell side liquidity indicates a pool of potential sell orders below the current price level. Price movement into this area can result in increased selling pressure as these orders are executed.
➤ Sweep Liquidation Zones:
Sweep Liquidation Zones are crucial for understanding market structure and potential future price movements. They provide insights into areas where significant market participants have been forced out of their positions, potentially setting up new trading opportunities.
🔵 USAGE & EXAMPLES
The core principle behind the success of this toolkit lies in identifying "confluence." This refers to the convergence of multiple trading indicators all signaling the same information at a specific point or area. By seeking such alignment, traders can significantly enhance the likelihood of successful trades.
MS + OBs
The chart illustrates a highly bullish setup where the price is rejecting from a bullish order block (POC), while simultaneously forming a bullish Swing Failure Pattern (SFP). This occurs after an internal structure change, marked by a bullish Change of Character (CHoCH). The price broke through a bearish order block, transforming it into a breaker block, further confirming the bullish momentum.
The combination of these elements—bullish order blocks, SFP, and CHoCH—creates a powerful bullish signal, reinforcing the potential for upward movement in the market.
SFP + Bear OB
This chart above displays a bearish setup with a high probability of a price move lower. The price is currently rejecting from a bear order block, which represents a key resistance area where significant selling pressure has previously occurred. A Swing Failure Pattern (SFP) has also formed near this bear order block, indicating that the price briefly attempted to break above a recent high but failed to sustain that upward movement. This failure suggests that buyers are losing momentum, and the market could be preparing for a move to the downside.
Additionally, we can toggle on the Deviation Area in the SFP section to highlight potential levels where price deviation might occur. These deviation areas represent zones where the price is likely to react after the Swing Failure Pattern:
BUY – SELL sides + EQL
The chart showcases a bullish setup with a high probability of price breaking out of the current sell-side resistance level. The market structure indicates a formation of Equal Lows (EQL), which often suggests a build-up of liquidity that could drive the price higher.
The presence of strong buy-side pressure (69%), indicated by the green zone at the bottom, reinforces this bullish outlook. This area represents a key support zone where buyers are outpacing sellers, providing the foundation for a potential upward breakout.
EQL + Bull ChoCh
This chart illustrates a potential bullish setup, driven by the formation of Equal Lows (EQL) followed by a bullish Change of Character (CHoCH). The presence of Equal Lows often signals a liquidity build-up, which can lead to a reversal when combined with additional bullish signals.
Liquidity grab + Bull ChoCh + FVGs
This chart demonstrates a strong bullish scenario, where several important market dynamics are at play. The price begins its upward momentum from Liquidity grab following a bullish Change of Character (CHoCH), signaling the transition from a bearish phase to a bullish one.
As the price progresses, it performs liquidity grabs, which serve to gather the necessary fuel for further movement. These liquidity grabs often occur before significant price surges, as large market participants exploit these areas to accumulate positions before pushing the price higher.
The chart also highlights a market imbalance area, showing strong momentum as the price moves swiftly through this zone.
In this examples, we see how the combination of multiple “smart money” tools helps identify a potential trade opportunities. This is just one of the many scenarios that traders can spot using this toolkit. Other combinations—such as order blocks, liquidity grabs, fair value gaps, and Swing Failure Patterns (SFPs)—can also be layered on top of these concepts to further refine your trading strategy.
🔵 SETTINGS
Window: limit calculation period
Swing: limit drawing function
Mapping structure: show structural points
Algorithmic Logic: (Extreme-Adjusted) Use max high/low or pivot point calculation
Algorithmic loopback: pivot point look back
Show Last: Amount of Order block to display
Hide Overlap: hide overlapping order blocks
Construction: Size of the order blocks
Fair value gaps: Choose between normal FVG or Breaker FVG
Mitigation: (close - wick - avg) point to mitigate the order block/imbalance
SFP lookback: find a higher / lower point to improve accuracy
Threshold: remove less relevant SFP
Equal H&L: (short-mid-long term) display longer term
Liquidity Prints: Shows wicks of candles where liquidity was grabbed
Sweep Area: Identify Sweep Liquidation areas
By combining these indicators in one toolkit, traders are equipped with a comprehensive suite of tools that address every angle of the Smart Money Concept. Instead of relying on disparate tools spread across various platforms, having them integrated into a single, cohesive system allows traders to easily see confluence and make more informed trading decisions.
WaveTrend With Divs & RSI(STOCH) Divs by WeloTradesWaveTrend with Divergences & RSI(STOCH) Divergences by WeloTrades
Overview
The "WaveTrend With Divergences & RSI(STOCH) Divergences" is an advanced Pine Script™ indicator designed for TradingView, offering a multi-dimensional analysis of market conditions. This script integrates several technical indicators—WaveTrend, Money Flow Index (MFI), RSI, and Stochastic RSI—into a cohesive tool that identifies both regular and hidden divergences across these indicators. These divergences can indicate potential market reversals and provide critical trading opportunities.
This indicator is not just a simple combination of popular tools; it offers extensive customization options, organized data presentation, and valuable trading signals that are easy to interpret. Whether you're a day trader or a long-term investor, this script enhances your ability to make informed decisions.
Originality and Usefulness
The originality of this script lies in its integration and the synergy it creates among the indicators used. Rather than merely combining multiple indicators, this script allows them to work together, enhancing each other's strengths. For example, by identifying divergences across WaveTrend, RSI, and Stochastic RSI simultaneously, the script provides multiple layers of confirmation, which reduces the likelihood of false signals and increases the reliability of trading signals.
The usefulness of this script is apparent in its ability to offer a consolidated view of market dynamics. It not only simplifies the analytical process by combining different indicators but also provides deeper insights through its divergence detection features. This comprehensive approach is designed to help traders identify potential market reversals, confirm trends, and ultimately make more informed trading decisions.
How the Components Work Together
1. Cross-Validation of Signals
WaveTrend: This indicator is primarily used to identify overbought and oversold conditions, as well as potential buy and sell signals. WaveTrend's ability to smooth price data and reduce noise makes it a reliable tool for identifying trend reversals.
RSI & Stochastic RSI: These momentum oscillators are used to measure the speed and change of price movements. While RSI identifies general overbought and oversold conditions, Stochastic RSI offers a more granular view by tracking the RSI’s level relative to its high-low range over a period of time. When these indicators align with WaveTrend signals, it adds a layer of confirmation that enhances the reliability of the signals.
Money Flow Index (MFI): This volume-weighted indicator assesses the inflow and outflow of money in an asset, giving insights into buying and selling pressure. By analyzing the MFI alongside WaveTrend and RSI indicators, the script can cross-validate signals, ensuring that buy or sell signals are supported by actual market volume.
Example Bullish scenario:
When a bullish divergence is detected on the RSI and confirmed by a corresponding bullish signal on the WaveTrend, along with an increasing Money Flow Index, the probability of a successful trade setup increases. This cross-validation minimizes the risk of acting on false signals, which might occur when relying on a single indicator.
Example Bearish scenario:
When a bearish divergence is detected on the RSI and confirmed by a corresponding bearish signal on the WaveTrend, along with an decreasing Money Flow Index, the probability of a successful trade setup increases. This cross-validation minimizes the risk of acting on false signals, which might occur when relying on a single indicator.
2. Divergence Detection and Market Reversals
Regular Divergences: Occur when the price action and an indicator (like RSI or WaveTrend) move in opposite directions. Regular bullish divergence signals a potential upward reversal when the price makes a lower low while the indicator makes a higher low. Conversely, regular bearish divergence suggests a downward reversal when the price makes a higher high, but the indicator makes a lower high.
Hidden Divergences: These occur when the price action and indicator move in the same direction, but with different momentum. Hidden bullish divergence suggests the continuation of an uptrend, while hidden bearish divergence suggests the continuation of a downtrend. By detecting these divergences across multiple indicators, the script identifies potential trend reversals or continuations with greater accuracy.
Example: The script might detect a regular bullish divergence on the WaveTrend while simultaneously identifying a hidden bullish divergence on the RSI. This combination suggests that while a trend reversal is possible, the overall market sentiment remains bullish, providing a nuanced view of the market.
A Regular Bullish Divergence Example:
A Hidden Bullish Divergence Example:
A Regular Bearish Divergence Example:
A Hidden Bearish Divergence Example:
3. Trend Strength and Sentiment Analysis
WaveTrend: Measures the strength and direction of the trend. By identifying the extremes of market sentiment (overbought and oversold levels), WaveTrend provides early signals for potential reversals.
Money Flow Index (MFI): Assesses the underlying sentiment by analyzing the flow of money. A rising MFI during an uptrend confirms strong buying pressure, while a falling MFI during a downtrend confirms selling pressure. This helps traders assess whether a trend is likely to continue or reverse.
RSI & Stochastic RSI: Offer a momentum-based perspective on the trend’s strength. High RSI or Stochastic RSI values indicate that the asset may be overbought, suggesting a potential reversal. Conversely, low values indicate oversold conditions, signaling a possible upward reversal.
Example:
During a strong uptrend, the WaveTrend & RSI's might signal overbought conditions, suggesting caution. If the MFI also shows decreasing buying pressure and the RSI reaches extreme levels, these indicators together suggest that the trend might be weakening, and a reversal could be imminent.
Example:
During a strong downtrend, the WaveTrend & RSI's might signal oversold conditions, suggesting caution. If the MFI also shows increasing buying pressure and the RSI reaches extreme levels, these indicators together suggest that the trend might be weakening, and a reversal could be imminent.
Conclusion
The "WaveTrend With Divergences & RSI(STOCH) Divergences" script offers a powerful, integrated approach to technical analysis by combining trend, momentum, and sentiment indicators into a single tool. Its unique value lies in the cross-validation of signals, the ability to detect divergences, and the comprehensive view it provides of market conditions. By offering traders multiple layers of analysis and customization options, this script is designed to enhance trading decisions, reduce false signals, and provide clearer insights into market dynamics.
WAVETREND
Display of WaveTrend:
Display of WaveTrend Setting:
WaveTrend Indicator Explanation
The WaveTrend indicator helps identify overbought and oversold conditions, as well as potential buy and sell signals. Its flexibility allows traders to adapt it to various strategies, making it a versatile tool in technical analysis.
WaveTrend Input Settings:
WT MA Source: Default: HLC3
What it is: The data source used for calculating the WaveTrend Moving Average.
What it does: Determines the input data to smooth price action and filter noise.
Example: Using HLC3 (average of High, Low, Close) provides a smoother data representation compared to using just the closing price.
Length (WT MA Length): Default: 3
What it is: The period used to calculate the Moving Average.
What it does: Adjusts the sensitivity of the WaveTrend indicator, where shorter lengths respond more quickly to price changes.
Example: A length of 3 is ideal for short-term analysis, providing quick reactions to price movements.
WT Channel Length & Average: Default: WT Channel Length = 9, Average = 12
What it is: Lengths used to calculate the WaveTrend channel and its average.
What it does: Smooths out the WaveTrend further, reducing false signals by averaging over a set period.
Example: Higher values reduce noise and help in identifying more reliable trends.
Channel: Style, Width, and Color:
What it is: Customization options for the WaveTrend channel's appearance.
What it does: Adjusts how the channel is displayed, including line style, width, and color.
Example: Choosing an area style with a distinct color can make the WaveTrend indicator clearly visible on the chart.
WT Buy & Sell Signals:
What it is: Settings to enable and customize buy and sell signals based on WaveTrend.
What it does: Allows for the display of buy/sell signals and customization of their shapes and colors.
When it gives a Buy Signal: Generated when the WaveTrend line crosses below an oversold level and then rises back, indicating a potential upward price movement.
When it gives a Sell Signal: Triggered when the WaveTrend line crosses above an overbought level and then declines, suggesting a possible downward trend.
Example: The script identifies these signals based on mean reversion principles, where prices tend to revert to the mean after reaching extremes. Traders can use these signals to time their entries and exits effectively.
WAVETREND OVERBOUGTH AND OVERSOLD LEVELS
Display of WaveTrend with Overbought & Oversold Levels:
Display of WaveTrend Overbought & Oversold Levels Settings:
WaveTrend Overbought & Oversold Levels Explanation
WT OB & OS Levels: Default: OB Level 1 = 53, OB Level 2 = 60, OS Level 1 = -53, OS Level 2 = -60
What it is: The default overbought and oversold levels used by the WaveTrend indicator to signal potential market reversals.
What it does: When the WaveTrend crosses above the OB levels, it indicates an overbought condition, potentially signaling a reversal or selling opportunity. Conversely, when it crosses below the OS levels, it indicates an oversold condition, potentially signaling a reversal or buying opportunity.
Example: A trader might use these levels to time entry or exit points, such as selling when the WaveTrend crosses into the overbought zone or buying when it crosses into the oversold zone.
Show OB/OS Levels: Default: True
What it is: Toggle options to show or hide the overbought and oversold levels on your chart.
What it does: When enabled, these levels will be visually represented on your chart, helping you to easily identify when the market reaches these critical thresholds.
Example: Displaying these levels can help you quickly see when the WaveTrend is approaching or has crossed into overbought or oversold territory, allowing for more informed trading decisions.
Line Style, Width, and Color for OB/OS Levels:
What it is: Options to customize the appearance of the OB and OS levels on your chart, including line style (solid, dotted, dashed), line width, and color.
What it does: These settings allow you to adjust how prominently these levels are displayed on your chart, which can help you better visualize and respond to overbought or oversold conditions.
Example: Setting a thicker, dashed line in a contrasting color can make these levels stand out more clearly, aiding in quick visual identification.
Example of Use:
Scenario: A trader wants to identify potential selling points when the market is overbought. They set the OB levels at 53 and 60, choosing a solid, red line style to make these levels clear on their chart. As the WaveTrend crosses above 53, they monitor for further price action, and upon crossing 60, they consider initiating a sell order.
WAVETREND DIVERGENCES
Display of WaveTrend Divergence:
Display of WaveTrend Divergence Setting:
WaveTrend Divergence Indicator Explanation
The WaveTrend Divergence feature helps identify potential reversal points in the market by highlighting divergences between the price and the WaveTrend indicator. Divergences can signal a shift in market momentum, indicating a possible trend reversal. This component allows traders to visualize and customize divergence detection on their charts.
WaveTrend Divergence Input Settings:
Potential Reversal Range: Default: 28
What it is: The number of bars to look back when detecting potential tops and bottoms.
What it does: Sets the range for identifying possible reversal points based on historical data.
Example: A setting of 28 looks back across the last 28 bars to find reversal points, offering a balance between responsiveness and reliability.
Reversal Minimum LVL OB & OS: Default: OB = 35, OS = -35
What it is: The minimum overbought and oversold levels required for detecting potential reversals.
What it does: Adjusts the thresholds that trigger a reversal signal based on the WaveTrend indicator.
Example: A higher OB level reduces the sensitivity to overbought conditions, potentially filtering out false reversal signals.
Lookback Bar Left & Right: Default: Left = 10, Right = 1
What it is: The number of bars to the left and right used to confirm a top or bottom.
What it does: Helps determine the position of peaks and troughs in the price action.
Example: A larger left lookback captures more extended price action before the peak, while a smaller right lookback focuses on the immediate past.
Lookback Range Min & Max: Default: Min = 5, Max = 60
What it is: The minimum and maximum range for the lookback period when identifying divergences.
What it does: Fine-tunes the detection of divergences by controlling the range over which the indicator looks back.
Example: A wider range increases the chances of detecting divergences across different market conditions.
R.Div Minimum LVL OB & OS: Default: OB = 53, OS = -53
What it is: The threshold levels for detecting regular divergences.
What it does: Adjusts the sensitivity of the regular divergence detection.
Example: Higher thresholds make the detection more conservative, identifying only stronger divergence signals.
H.Div Minimum LVL OB & OS: Default: OB = 20, OS = -20
What it is: The threshold levels for detecting hidden divergences.
What it does: Similar to regular divergence settings but for hidden divergences, which can indicate potential reversals that are less obvious.
Example: Lower thresholds make the hidden divergence detection more sensitive, capturing subtler market shifts.
Divergence Label Options:
What it is: Options to display and customize labels for regular and hidden divergences.
What it does: Allows users to visually differentiate between regular and hidden divergences using customizable labels and colors.
Example: Using different colors and symbols for regular (R) and hidden (H) divergences makes it easier to interpret signals on the chart.
Text Size and Color:
What it is: Customization options for the size and color of divergence labels.
What it does: Adjusts the readability and visibility of divergence labels on the chart.
Example: Larger text size may be preferred for charts with a lot of data, ensuring divergence labels stand out clearly.
FAST & SLOW MONEY FLOW INDEX
Display of Fast & Slow Money Flow:
Display of Fast & Slow Money Flow Setting:
Fast Money Flow Indicator Explanation
The Fast Money Flow indicator helps traders identify the flow of money into and out of an asset over a shorter time frame. By tracking the volume-weighted average of price movements, it provides insights into buying and selling pressure in the market, which can be crucial for making timely trading decisions.
Fast Money Flow Input Settings:
Fast Money Flow: Length: Default: 9
What it is: The period used for calculating the Fast Money Flow.
What it does: Determines the sensitivity of the Money Flow calculation. A shorter length makes the indicator more responsive to recent price changes, while a longer length provides a smoother signal.
Example: A length of 9 is suitable for traders looking to capture quick shifts in market sentiment over a short period.
Fast MFI Area Multiplier: Default: 5
What it is: A multiplier applied to the Money Flow area calculation.
What it does: Adjusts the size of the Money Flow area on the chart, effectively amplifying or reducing the visual impact of the indicator.
Example: A higher multiplier can make the Money Flow more prominent on the chart, aiding in the quick identification of significant money flow changes.
Y Position (Y Pos): Default: 0
What it is: The vertical position adjustment for the Fast Money Flow plot on the chart.
What it does: Allows you to move the Money Flow plot up or down on the chart to avoid overlap with other indicators.
Example: Adjusting the Y Position can be useful if you have multiple indicators on the chart and need to maintain clarity.
Fast MFI Style, Width, and Color:
What it is: Customization options for how the Fast Money Flow is displayed on the chart.
What it does: Enables you to choose between different plot styles (line or area), set the line width, and select colors for positive and negative money flow.
Example: Using different colors for positive (green) and negative (red) money flow helps to visually distinguish between periods of buying and selling pressure.
Slow Money Flow Indicator Explanation
The Slow Money Flow indicator tracks the flow of money into and out of an asset over a longer time frame. It provides a broader perspective on market sentiment, smoothing out short-term fluctuations and highlighting longer-term trends.
Slow Money Flow Input Settings:
Slow Money Flow: Length: Default: 12
What it is: The period used for calculating the Slow Money Flow.
What it does: A longer period smooths out short-term fluctuations, providing a clearer view of the overall money flow trend.
Example: A length of 12 is often used by traders looking to identify sustained trends rather than short-term volatility.
Slow MFI Area Multiplier: Default: 5
What it is: A multiplier applied to the Slow Money Flow area calculation.
What it does: Adjusts the size of the Money Flow area on the chart, helping to emphasize the indicator’s significance.
Example: Increasing the multiplier can help highlight the Money Flow in markets with less volatile price action.
Y Position (Y Pos): Default: 0
What it is: The vertical position adjustment for the Slow Money Flow plot on the chart.
What it does: Allows for vertical repositioning of the Money Flow plot to maintain chart clarity when used with other indicators.
Example: Adjusting the Y Position ensures that the Slow Money Flow indicator does not overlap with other key indicators on the chart.
Slow MFI Style, Width, and Color:
What it is: Customization options for the visual display of the Slow Money Flow on the chart.
What it does: Allows you to choose the plot style (line or area), set the line width, and select colors to differentiate positive and negative money flow.
Example: Customizing the colors for the Slow Money Flow allows traders to quickly distinguish between buying and selling trends in the market.
RSI
Display of RSI:
Display of RSI Setting:
RSI Indicator Explanation
The Relative Strength Index (RSI) is a momentum oscillator that measures the speed and change of price movements. It is typically used to identify overbought or oversold conditions in the market, providing traders with potential signals for buying or selling.
RSI Input Settings:
RSI Source: Default: Close
What it is: The data source used for calculating the RSI.
What it does: Determines which price data (e.g., close, open) is used in the RSI calculation, affecting how the indicator reflects market conditions.
Example: Using the closing price is standard practice, as it reflects the final agreed-upon price for a given time period.
MA Type (Moving Average Type): Default: SMA
What it is: The type of moving average applied to the RSI for smoothing purposes.
What it does: Changes the smoothing technique of the RSI, impacting how quickly the indicator responds to price movements.
Example: Using an Exponential Moving Average (EMA) will make the RSI more sensitive to recent price changes compared to a Simple Moving Average (SMA).
RSI Length: Default: 14
What it is: The period over which the RSI is calculated.
What it does: Adjusts the sensitivity of the RSI. A shorter length (e.g., 7) makes the RSI more responsive to recent price changes, while a longer length (e.g., 21) smooths out the indicator, reducing the number of signals.
Example: A 14-period RSI is commonly used for identifying overbought and oversold conditions, providing a balance between sensitivity and reliability.
RSI Plot Style, Width, and Color:
What it is: Options to customize the appearance of the RSI line on the chart.
What it does: Allows you to adjust the visual representation of the RSI, including the line width and color.
Example: Setting a thicker line width and a bright color like yellow can make the RSI more visible on the chart, aiding in quick analysis.
Display of RSI with RSI Moving Average:
RSI Moving Average Explanation
The RSI Moving Average adds a smoothing layer to the RSI, helping to filter out noise and provide clearer signals. It is particularly useful for confirming trend strength and identifying potential reversals.
RSI Moving Average Input Settings:
MA Length: Default: 14
What it is: The period over which the Moving Average is calculated on the RSI.
What it does: Adjusts the smoothing of the RSI, helping to reduce false signals and provide a clearer trend indication.
Example: A 14-period moving average on the RSI can smooth out short-term fluctuations, making it easier to spot genuine overbought or oversold conditions.
MA Plot Style, Width, and Color:
What it is: Customization options for how the RSI Moving Average is displayed on the chart.
What it does: Allows you to adjust the line width and color, helping to differentiate the Moving Average from the main RSI line.
Example: Using a contrasting color for the RSI Moving Average (e.g., magenta) can help it stand out against the main RSI line, making it easier to interpret the indicator.
STOCHASTIC RSI
Display of Stochastic RSI:
Display of Stochastic RSI Setting:
Stochastic RSI Indicator Explanation
The Stochastic RSI (Stoch RSI) is a momentum oscillator that measures the level of the RSI relative to its high-low range over a set period of time. It is used to identify overbought and oversold conditions, providing potential buy and sell signals based on momentum shifts.
Stochastic RSI Input Settings:
Stochastic RSI Length: Default: 14
What it is: The period over which the Stochastic RSI is calculated.
What it does: Adjusts the sensitivity of the Stochastic RSI. A shorter length makes the indicator more responsive to recent price changes, while a longer length smooths out the fluctuations, reducing noise.
Example: A length of 14 is commonly used to identify momentum shifts over a medium-term period, providing a balanced view of potential overbought or oversold conditions.
Display of Stochastic RSI %K Line:
Stochastic RSI %K Line Explanation
The %K line in the Stochastic RSI is the main line that tracks the momentum of the RSI over the chosen period. It is the faster-moving component of the Stochastic RSI, often used to identify entry and exit points.
Stochastic RSI %K Input Settings:
%K Length: Default: 3
What it is: The period used for smoothing the %K line of the Stochastic RSI.
What it does: Smoothing the %K line helps reduce noise and provides a clearer signal for potential market reversals.
Example: A smoothing length of 3 is common, offering a balance between responsiveness and noise reduction, making it easier to spot significant momentum shifts.
%K Plot Style, Width, and Color:
What it is: Customization options for the visual representation of the %K line.
What it does: Allows you to adjust the appearance of the %K line on the chart, including line width and color, to fit your visual preferences.
Example: Setting a blue color and a medium width for the %K line makes it stand out clearly on the chart, helping to identify key points of momentum change.
%K Fill Color (Above):
What it is: The fill color that appears above the %K line on the chart.
What it does: Adds visual clarity by shading the area above the %K line, making it easier to interpret the direction and strength of momentum.
Example: Using a light blue fill color above the %K line can help emphasize bullish momentum, making it visually prominent.
Display of Stochastic RSI %D Line:
Stochastic RSI %D Line Explanation
The %D line in the Stochastic RSI is a moving average of the %K line and acts as a signal line. It is slower-moving compared to the %K line and is often used to confirm signals or identify potential reversals when it crosses the %K line.
Stochastic RSI %D Input Settings:
%D Length: Default: 3
What it is: The period used for smoothing the %D line of the Stochastic RSI.
What it does: Smooths out the %D line, making it less sensitive to short-term fluctuations and more reliable for identifying significant market signals.
Example: A length of 3 is often used to provide a smoothed signal line that can help confirm trends or reversals indicated by the %K line.
%D Plot Style, Width, and Color:
What it is: Customization options for the visual representation of the %D line.
What it does: Allows you to adjust the appearance of the %D line on the chart, including line width and color, to match your preferences.
Example: Setting an orange color and a thicker line width for the %D line can help differentiate it from the %K line, making crossover points easier to spot.
%D Fill Color (Below):
What it is: The fill color that appears below the %D line on the chart.
What it does: Adds visual clarity by shading the area below the %D line, making it easier to interpret bearish momentum.
Example: Using a light orange fill color below the %D line can highlight bearish conditions, making it visually easier to identify.
RSI & STOCHASTIC RSI OVERBOUGHT AND OVERSOLD LEVELS
Display of RSI & Stochastic with Overbought & Oversold Levels:
Display of RSI & Stochastic Overbought & Oversold Settings:
RSI & Stochastic Overbought & Oversold Levels Explanation
The Overbought (OB) and Oversold (OS) levels for RSI and Stochastic RSI indicators are key thresholds that help traders identify potential reversal points in the market. These levels are used to determine when an asset is likely overbought or oversold, which can signal a potential trend reversal.
RSI & Stochastic Overbought & Oversold Input Settings:
RSI & Stochastic Level 1 Overbought (OB) & Oversold (OS): Default: OB Level = 170, OS Level = 130
What it is: The first set of thresholds for determining overbought and oversold conditions for both RSI and Stochastic RSI indicators.
What it does: When the RSI or Stochastic RSI crosses above the overbought level, it suggests that the asset might be overbought, potentially signaling a sell opportunity. Conversely, when these indicators drop below the oversold level, it suggests the asset might be oversold, potentially signaling a buy opportunity.
Example: If the RSI crosses above 170, traders might look for signs of a potential trend reversal to the downside, while a cross below 130 might indicate a reversal to the upside.
RSI & Stochastic Level 2 Overbought (OB) & Oversold (OS): Default: OB Level = 180, OS Level = 120
What it is: The second set of thresholds for determining overbought and oversold conditions for both RSI and Stochastic RSI indicators.
What it does: These levels provide an additional set of reference points, allowing traders to differentiate between varying degrees of overbought and oversold conditions, potentially leading to more refined trading decisions.
Example: When the RSI crosses above 180, it might indicate an extreme overbought condition, which could be a stronger signal for a sell, while a cross below 120 might indicate an extreme oversold condition, which could be a stronger signal for a buy.
RSI & Stochastic Overbought (OB) Band Customization:
OB Level 1: Width, Style, and Color:
What it is: Customization options for the visual appearance of the first overbought band on the chart.
What it does: Allows you to set the line width, style (solid, dotted, dashed), and color for the first overbought band, enhancing its visibility on the chart.
Example: A dashed red line with medium width can clearly indicate the first overbought level, helping traders quickly identify when this threshold is crossed.
OB Level 2: Width, Style, and Color:
What it is: Customization options for the visual appearance of the second overbought band on the chart.
What it does: Allows you to set the line width, style, and color for the second overbought band, providing a clear distinction from the first band.
Example: A dashed red line with a slightly thicker width can represent a more significant overbought level, making it easier to differentiate from the first level.
RSI & Stochastic Oversold (OS) Band Customization:
OS Level 1: Width, Style, and Color:
What it is: Customization options for the visual appearance of the first oversold band on the chart.
What it does: Allows you to set the line width, style (solid, dotted, dashed), and color for the first oversold band, making it visually prominent.
Example: A dashed green line with medium width can highlight the first oversold level, helping traders identify potential buying opportunities.
OS Level 2: Width, Style, and Color:
What it is: Customization options for the visual appearance of the second oversold band on the chart.
What it does: Allows you to set the line width, style, and color for the second oversold band, providing an additional visual cue for extreme oversold conditions.
Example: A dashed green line with a thicker width can represent a more significant oversold level, offering a stronger visual cue for potential buying opportunities.
RSI DIVERGENCES
Display of RSI Divergence Labels:
Display of RSI Divergence Settings:
RSI Divergence Lookback Explanation
The RSI Divergence settings allow traders to customize the parameters for detecting divergences between the RSI (Relative Strength Index) and price action. Divergences occur when the price moves in the opposite direction to the RSI, potentially signaling a trend reversal. These settings help refine the accuracy of divergence detection by adjusting the lookback period and range. ( NOTE: This setting only imply to the RSI. This doesn't effect the STOCHASTIC RSI. )
RSI Divergence Lookback Input Settings:
Lookback Left: Default: 10
What it is: The number of bars to look back from the current bar to detect a potential divergence.
What it does: Defines the left-side lookback period for identifying pivot points in the RSI, which are used to spot divergences. A longer lookback period may capture more significant trends but could also miss shorter-term divergences.
Example: A setting of 10 bars means the script will consider pivot points up to 10 bars before the current bar to check for divergence patterns.
Lookback Right: Default: 1
What it is: The number of bars to look forward from the current bar to complete the divergence pattern.
What it does: Defines the right-side lookback period for confirming a potential divergence. This setting helps ensure that the identified divergence is valid by allowing the script to check subsequent bars for confirmation.
Example: A setting of 1 bar means the script will look at the next bar to confirm the divergence pattern, ensuring that the signal is reliable.
Lookback Range Min: Default: 5
What it is: The minimum range of bars required to detect a valid divergence.
What it does: Sets a lower bound on the range of bars considered for divergence detection. A lower minimum range might capture more frequent but possibly less significant divergences.
Example: Setting the minimum range to 5 ensures that only divergences spanning at least 5 bars are considered, filtering out very short-term patterns.
Lookback Range Max: Default: 60
What it is: The maximum range of bars within which a divergence can be detected.
What it does: Sets an upper bound on the range of bars considered for divergence detection. A larger maximum range might capture more significant divergences but could also include less relevant long-term patterns.
Example: Setting the maximum range to 60 bars allows the script to detect divergences over a longer timeframe, capturing more extended divergence patterns that could indicate major trend reversals.
RSI Divergence Explanation
RSI divergences occur when the RSI indicator and price action move in opposite directions, signaling potential trend reversals. This section of the settings allows traders to customize the appearance and detection of both regular and hidden bullish and bearish divergences.
RSI Divergence Input Settings:
R. Bullish Div Label: Default: True
What it is: An option to display labels for regular bullish divergences.
What it does: Enables or disables the visibility of labels that mark regular bullish divergences, where the price makes a lower low while the RSI makes a higher low, indicating a potential upward reversal.
Example: A trader might use this to spot buying opportunities in a downtrend when a bullish divergence suggests the trend may be reversing.
Bullish Label Color, Line Width, and Line Color:
What it is: Settings to customize the appearance of regular bullish divergence labels.
What it does: Allows you to choose the color of the labels, adjust the width of the divergence lines, and select the color for these lines.
Example: Selecting a green label color and a distinct line width makes bullish divergences easily recognizable on your chart.
R. Bearish Div Label: Default: True
What it is: An option to display labels for regular bearish divergences.
What it does: Enables or disables the visibility of labels that mark regular bearish divergences, where the price makes a higher high while the RSI makes a lower high, indicating a potential downward reversal.
Example: A trader might use this to spot selling opportunities in an uptrend when a bearish divergence suggests the trend may be reversing.
Bearish Label Color, Line Width, and Line Color:
What it is: Settings to customize the appearance of regular bearish divergence labels.
What it does: Allows you to choose the color of the labels, adjust the width of the divergence lines, and select the color for these lines.
Example: Choosing a red label color and a specific line width makes bearish divergences clearly stand out on your chart.
H. Bullish Div Label: Default: False
What it is: An option to display labels for hidden bullish divergences.
What it does: Enables or disables the visibility of labels that mark hidden bullish divergences, where the price makes a higher low while the RSI makes a lower low, indicating potential continuation of an uptrend.
Example: A trader might use this to confirm an existing uptrend when a hidden bullish divergence signals continued buying strength.
Hidden Bullish Label Color, Line Width, and Line Color:
What it is: Settings to customize the appearance of hidden bullish divergence labels.
What it does: Allows you to choose the color of the labels, adjust the width of the divergence lines, and select the color for these lines.
Example: A softer green color with a thinner line width might be chosen to subtly indicate hidden bullish divergences, keeping the chart clean while providing useful information.
H. Bearish Div Label: Default: False
What it is: An option to display labels for hidden bearish divergences.
What it does: Enables or disables the visibility of labels that mark hidden bearish divergences, where the price makes a lower high while the RSI makes a higher high, indicating potential continuation of a downtrend.
Example: A trader might use this to confirm an existing downtrend when a hidden bearish divergence signals continued selling pressure.
Hidden Bearish Label Color, Line Width, and Line Color:
What it is: Settings to customize the appearance of hidden bearish divergence labels.
What it does: Allows you to choose the color of the labels, adjust the width of the divergence lines, and select the color for these lines.
Example: A muted red color with a thinner line width might be selected to indicate hidden bearish divergences without overwhelming the chart.
Divergence Text Size and Color: Default: S (Small)
What it is: Settings to adjust the size and color of text labels for RSI divergences.
What it does: Allows you to customize the size and color of text labels that display the divergence information on the chart.
Example: Choosing a small text size with a bright white color can make divergence labels easily readable without taking up too much space on the chart.
STOCHASTIC DIVERGENCES
Display of Stochastic RSI Divergence Labels:
Display of Stochastic RSI Divergence Settings:
Stochastic RSI Divergence Explanation
Stochastic RSI divergences occur when the Stochastic RSI indicator and price action move in opposite directions, signaling potential trend reversals. These settings allow traders to customize the detection and visual representation of both regular and hidden bullish and bearish divergences in the Stochastic RSI.
Stochastic RSI Divergence Input Settings:
R. Bullish Div Label: Default: True
What it is: An option to display labels for regular bullish divergences in the Stochastic RSI.
What it does: Enables or disables the visibility of labels that mark regular bullish divergences, where the price makes a lower low while the Stochastic RSI makes a higher low, indicating a potential upward reversal.
Example: A trader might use this to spot buying opportunities in a downtrend when a bullish divergence in the Stochastic RSI suggests the trend may be reversing.
Bullish Label Color, Line Width, and Line Color:
What it is: Settings to customize the appearance of regular bullish divergence labels in the Stochastic RSI.
What it does: Allows you to choose the color of the labels, adjust the width of the divergence lines, and select the color for these lines.
Example: Selecting a blue label color and a distinct line width makes bullish divergences in the Stochastic RSI easily recognizable on your chart.
R. Bearish Div Label: Default: True
What it is: An option to display labels for regular bearish divergences in the Stochastic RSI.
What it does: Enables or disables the visibility of labels that mark regular bearish divergences, where the price makes a higher high while the Stochastic RSI makes a lower high, indicating a potential downward reversal.
Example: A trader might use this to spot selling opportunities in an uptrend when a bearish divergence in the Stochastic RSI suggests the trend may be reversing.
Bearish Label Color, Line Width, and Line Color:
What it is: Settings to customize the appearance of regular bearish divergence labels in the Stochastic RSI.
What it does: Allows you to choose the color of the labels, adjust the width of the divergence lines, and select the color for these lines.
Example: Choosing an orange label color and a specific line width makes bearish divergences in the Stochastic RSI clearly stand out on your chart.
H. Bullish Div Label: Default: False
What it is: An option to display labels for hidden bullish divergences in the Stochastic RSI.
What it does: Enables or disables the visibility of labels that mark hidden bullish divergences, where the price makes a higher low while the Stochastic RSI makes a lower low, indicating potential continuation of an uptrend.
Example: A trader might use this to confirm an existing uptrend when a hidden bullish divergence in the Stochastic RSI signals continued buying strength.
Hidden Bullish Label Color, Line Width, and Line Color:
What it is: Settings to customize the appearance of hidden bullish divergence labels in the Stochastic RSI.
What it does: Allows you to choose the color of the labels, adjust the width of the divergence lines, and select the color for these lines.
Example: A softer blue color with a thinner line width might be chosen to subtly indicate hidden bullish divergences, keeping the chart clean while providing useful information.
H. Bearish Div Label: Default: False
What it is: An option to display labels for hidden bearish divergences in the Stochastic RSI.
What it does: Enables or disables the visibility of labels that mark hidden bearish divergences, where the price makes a lower high while the Stochastic RSI makes a higher high, indicating potential continuation of a downtrend.
Example: A trader might use this to confirm an existing downtrend when a hidden bearish divergence in the Stochastic RSI signals continued selling pressure.
Hidden Bearish Label Color, Line Width, and Line Color:
What it is: Settings to customize the appearance of hidden bearish divergence labels in the Stochastic RSI.
What it does: Allows you to choose the color of the labels, adjust the width of the divergence lines, and select the color for these lines.
Example: A muted orange color with a thinner line width might be selected to indicate hidden bearish divergences without overwhelming the chart.
Divergence Text Size and Color: Default: S (Small)
What it is: Settings to adjust the size and color of text labels for Stochastic RSI divergences.
What it does: Allows you to customize the size and color of text labels that display the divergence information on the chart.
Example: Choosing a small text size with a bright white color can make divergence labels easily readable without taking up too much space on the chart.
Alert System:
Custom Alerts for Divergences and Reversals:
What it is: The script includes customizable alert conditions to notify you of detected divergences or potential reversals based on WaveTrend, RSI, and Stochastic RSI.
What it does: Helps you stay informed of key market movements without constantly monitoring the charts, enabling timely decisions.
Example: Setting an alert for regular bearish divergence on the WaveTrend could notify you of a potential sell opportunity as soon as it is detected.
How to Use Alerts:
Set up custom alerts in TradingView based on these conditions to be notified of potential trading opportunities. Alerts are triggered when the indicator detects conditions that match the selected criteria, such as divergences or potential reversals.
By following the detailed guidelines and examples above, you can effectively use and customize this powerful indicator to suit your trading strategy.
For further understanding and customization, refer to the input settings within the script and adjust them to match your trading style and preferences.
How Components Work Together
Synergy and Cross-Validation: The indicator combines multiple layers of analysis to validate trading signals. For example, a WaveTrend buy signal that coincides with a bullish divergence in RSI and positive fast money flow is likely to be more reliable than any single indicator’s signal. This cross-validation reduces the likelihood of false signals and enhances decision-making.
Comprehensive Market Analysis: Each component plays a role in analyzing different aspects of the market. WaveTrend focuses on trend strength, Money Flow indicators assess market sentiment, while RSI and Stochastic RSI offer detailed views of price momentum and potential reversals.
Ideal For
Traders who require a reliable, multifaceted tool for detecting market trends and reversals.
Investors seeking a deeper understanding of market dynamics across different timeframes and conditions, whether in forex, equities, or cryptocurrency markets.
This script is designed to provide a comprehensive tool for technical analysis, combining multiple indicators and divergence detection into one versatile and customizable script. It is especially useful for traders who want to monitor various indicators simultaneously and look for convergence or divergence signals across different technical tools.
Acknowledgements
Special thanks to these amazing creators for inspiration and their creations:
I want to thank these amazing creators for creating there amazing indicators , that inspired me and also gave me a head start by making this indicator! Without their amazing indicators it wouldn't be possible!
vumanchu: VuManChu Cipher B Divergences.
MisterMoTa: RSI + Divergences + Alerts .
DevLucem: Plain Stochastic Divergence.
Note
This indicator is designed to be a powerful tool in your trading arsenal. However , it is essential to backtest and adjust the settings according to your trading strategy before applying it to live trading . If you have any questions or need further assistance, feel free to reach out.
Previous Highs & Lows [LuxAlgo]The Previous Highs & Lows indicator highlights a user-set amount of previous maximum/minimum prices made within specific intervals, these are displayed as levels customizable levels.
Additionally, one upper and lower zone constructed from the previously displayed highs/lows is included, providing support/resistance areas.
🔶 USAGE
Previous highs/lows are often perceived as key trading levels with the potential of generating multiple reactions upon being reached.
While the daily interval is more commonly used, users can use different intervals, with the indicator supporting hourly, daily, weekly, monthly, and yearly intervals. Using higher intervals on low timeframes can return more distant levels relative to the most recent price, which might not be relevant.
Each level is numbered, with more recent previous highs/lows having a lower number associated with them, users can also highlight more recent levels through a transparency gradient.
Users can control the amount of previous highs/lows displayed using the "Show Last" settings, with a higher value providing more potential support/resistance. Returned previous highs/lows can eventually be filtered out based on their position by enabling the "Filter Based On Position" setting, only keeping previous highs above the current closing price and previous lows below the current closing price, giving more relevant levels as a result.
🔹 Previous High/Low Areas
The indicator includes two areas constructed from the respective percentiles of the returned previous highs/lows. These can be useful as more general support/resistance areas.
Wider areas are often indicative of a group of previous highs or lows being more dispersed, resulting in areas that are easier to reach. Wider areas can also be obtained by increasing the "Areas Width" setting.
Note: Areas will only be displayed if "Show Last" is greater than 1
🔶 SETTINGS
Show Last: Determines the amount of more recent previous highs and previous low levels displayed by the indicator.
Interval: Interval used to capture maximum/minimum price values,
Areas Width: Width of the displayed top/bottom areas, with higher values returning wider areas.
Filter Based On Position: When enabled only display previous highs above the current closing price and previous lows below the current closing price.
🔹 Style
Minimum Gradient Transparency: Minimum transparency value applied to the colors of the oldest displayed previous highs/lows levels.
Depth of Market (DOM) [LuxAlgo]The Depth Of Market (DOM) tool allows traders to look under the hood of any market, taking price and volume analysis to the next level. The following features are included: DOM, Time & Sales, Volume Profile, Depth of Market, Imbalances, Buying Pressure, and up to 24 key intraday levels (it really packs a punch).
As a disclaimer, this tool does not use tick data, it is a DOM reconstruction from the provided real-time time series data (price and volume). So the volume you see is from filled orders only, this tool does not show unfilled limit orders.
Traders can enable or disable any of the features at will to avoid being overwhelmed with too much information and to make the tool perform faster.
The features that have the biggest impact on performance are Historical Data Collection, Key Levels (POC & VWAP), Time & Sales, Profile, and Imbalances. Disable these features to improve the indicator computational performance.
🔶 DOM
This is the simplest form of the tool, a simple DOM or ladder that displays the following columns:
PRICE: Price level
BID: Total number of market sell orders filled or limit buy orders filled.
SELL: Sell market orders
BUY: Buy market orders
ASK: Total number of market buy orders filled or limit sell orders filled.
The DOM only collects historical data from the last 24 hours and real-time data.
Traders can select a reset period for the DOM with two options:
DAILY: Resets at the beginning of each trading day
SESSIONS: Resets twice, as DAILY and 15.5 hours later, to coincide with the start of the RTH session for US tickers.
The DOM has two main modes, it can display price levels as ticks or points. The default is automatic based on the current daily volatility, but traders can manually force one mode or the other if they wish.
For convenience, traders have the option to set the number of lines (price levels), and the size of the text and to display only real-time data.
By default, the top price is set to 0 so that the DOM automatically adjusts the price levels to be displayed, but traders can set the top price manually so that the tool displays only the desired price levels in a fixed manner.
🔹 Volume Profile
As additional features to the basic DOM, traders have access to the volume profile histogram and the total volume per price level.
This helps traders identify at a glance key price areas where volume is accumulating (high volume nodes) or areas where volume is lacking (low volume nodes) - these areas are important to some traders who base their decision-making process on them.
🔹 Imbalances
Other added features are imbalances and buying pressure:
Interlevel Imbalance: volume delta between two different price levels
Intralevel Imbalance: delta between buy and sell volume at the same price level
Buying Pressure Percent: percentage of buy volume compared to total volume
Imbalances can help traders identify areas of interest in the price for possible support or resistance.
🔹 Depth
Depth allows traders to see at a glance how much supply is above the current price level or how much demand is below the current price level.
Above the current price level shows the cumulative ask volume (filled sell limit orders) and below the current price level shows the cumulative bid volume (filled buy limit orders).
🔶 KEY LEVELS
The tool includes up to 24 different key intraday levels of particular relevance:
Previous Week Levels
PWH: Previous week high
PWL: Previous week low
PWM: Previous week middle
PWS: Previous week settlement (close)
Previous Day Levels
PDH: Previous day high
PDL: Previous day low
PDM: Previous day middle
PDS: Previous day settlement (close)
Current Day Levels
OPEN: Open of day (or session)
HOD: High of day (or session)
LOD: Low of day (or session)
MOD: Middle of day (or session)
Opening Range
ORH: Open range high
ORL: Open range low
Initial Balance
IBH: Initial balance high
IBL: Initial balance low
VWAP
+3SD: Volume weighted average price plus 3 standard deviations
+2SD: Volume weighted average price plus 2 standard deviations
+1SD: Volume weighted average price plus 1 standard deviation
VWAP: Volume weighted average price
-1SD: Volume weighted average price minus 1 standard deviation
-2SD: Volume weighted average price minus 2 standard deviations
-3SD: Volume weighted average price minus 3 standard deviations
POC: Point of control
Different traders look at different levels, the key levels shown here are objective and specific areas of interest that traders can act on, providing us with potential areas of support or resistance in the price.
🔶 TIME & SALES
The tool also features a full-time and sales panel with time, price, and size columns, a size filter, and the ability to set the timezone to display time in the trader's local time.
The information shown here is what feeds the DOM and it can be useful in several ways, for example in detecting absorption. If a large number of orders are coming into the market but the price is barely moving, this indicates that there is enough liquidity at these levels to absorb all these orders, so if these orders stop coming into the market, the price may turn around.
🔶 SETTINGS
Period: Select the anchoring period to start data collection, DAILY will anchor at the start of the trading day, and SESSIONS will start as DAILY and 15.5 hours later (RTH for US tickers).
Mode: Select between AUTO and MANUAL modes for displaying TICKS or POINTS, in AUTO mode the tool will automatically select TICKS for tickers with a daily average volatility below 5000 ticks and POINTS for the rest of the tickers.
Rows: Select the number of price levels to display
Text Size: Select the text size
🔹 DOM
DOM: Enable/Disable DOM display
Realtime only: Enable/Disable real-time data only, historical data will be collected if disabled
Top Price: Specify the price to be displayed on the top row, set to 0 to enable dynamic DOM
Max updates: Specify how many times the values on the SELL and BUY columns are accumulated until reset.
Profile/Depth size: Maximum size of the histograms on the PROFILE and DEPTH columns.
Profile: Enable/Disable Profile column. High impact on performance.
Volume: Enable/Disable Volume column. Total volume traded at price level.
Interlevel Imbalance: Enable/Disable Interlevel Imbalance column. Total volume delta between the current price level and the price level above. High impact on performance.
Depth: Enable/Disable Depth, showing the cumulative supply above the current price and the cumulative demand below. Impact on performance.
Intralevel Imbalance: Enable/Disable Intralevel Imbalance column. Delta between total buy volume and total sell volume. High impact on performance.
Buying Pressure Percent: Enable/Disable Buy Percent column. Percentage of total buy volume compared to total volume.
Imbalance Threshold %: Threshold for highlighting imbalances. Set to 90 to highlight the top 10% of interlevel imbalances and the top and bottom 10% of intra-level imbalances.
Crypto volume precision: Specify the number of decimals to display on the volume of crypto assets
🔹 Key Levels
Key Levels: Enable/Disable KEY column. Very high performance impact.
Previous Week: Enable/Disable High, Low, Middle, and Close of the previous trading week.
Previous Day: Enable/Disable High, Low, Middle, and Settlement of the previous trading day.
Current Day/Session: Enable/Disable Open, High, Low and Middle of the current period.
Open Range: Enable/Disable High and Low of the first candle of the period.
Initial Balance: Enable/Disable High and Low of the first hour of the period.
VWAP: Enable/Disable Volume-weighted average price of the period with 1, 2, and 3 standard deviations.
POC: Enable/Disable Point of Control (price level with the highest volume traded) of the period.
🔹 Time & Sales
Time & Sales: Enable/Disable time and sales panel.
Timezone offset (hours): Enter your time zone\'s offset (+ or −), including a decimal fraction if needed.
Order Size: Set order size filter. Orders smaller than the value are not displayed.
🔶 THANKS
Hi, I'm makit0 coder of this tool and proud member of the LuxAlgo Opensource team, it's an honor to be part of the LuxAlgo family doing something I love as it's writing opensource code and sharing it with the world. I'd like to thank all of you who use, comment on, and vote for all of our open-source tools, and all of you who give us your support.
And of course thanks to the PineCoders family for all the work in front of and behind the scenes that makes the PineScript community what it is, simply the best.
Peace, Love & PineScript!
Modified Box Plots
Box Plot Concept: The script creates a modified box plot where the central box represents the range within 1 standard deviation from the midpoint (hl2), which is the average of the high and low prices. The whiskers extend to cover a range of 3 standard deviations, providing a visualization of the overall price distribution.
Color Scheme: The color of the modified box plot is determined based on comparisons between the current midpoint (g) and the +/- 1 SD values of the previous candle (i and j ). If g > i , the color is green; if g < j , it's red; otherwise, it's yellow. This color scheme allows users to quickly assess the relationship between the current market conditions and recent price movements. if the mid point price is above/below +/- 1 SD values of the previous candle the price movement is considered as significant.
Plotcandle Function: The plotcandle function is employed to visualize the modified box plot. The color of the box is dynamically determined by the candleColor variable, which reflects the current market state based on the color scheme. The wicks, represented by lines extending from the box, are colored in white.
Explanation of Box and Wicks:
Box (Open and Close): In this modified box plot, the box does not represent traditional open and close prices. Instead, it signifies a range within 1 standard deviation of the midpoint (hl2), providing insight into the typical price variation around the average of the high and low.
Wicks (High and Low): The wicks extend from the box to cover a range of 3 standard deviations from the midpoint (hl2). They do not correspond to the actual high and low prices but serve as a visualization of potential outliers in the price distribution. The actual high and low prices are also plotted as green and red dots when the actual high and low prices fall outside the +/- 3SD wicks (whiskers) and also indicate the prices does not fit the distribution based on the recent price volatility.
In summary, this modified box plot offers a unique perspective on price distribution by considering standard deviations from the midpoint. The color scheme aids in quickly assessing market conditions, and the wicks provide insights into the potential presence of outliers. It's essential to understand that the box and wicks do not represent traditional open, close, high, and low prices but offer a different way to visualize and interpret intraday price movements.
Step by step explanation
Here's the step-by-step explanation:
a = ta.highest(high, 7): Calculates the highest high in the last 7 bars.
b = ta.lowest(low, 7): Calculates the lowest low in the last 7 bars.
c = ta.stdev(hl2, 7): Calculates the standard deviation of the average of high and low prices (hl2) over the last 7 bars.
d = (a - b) / c: Computes a scaling factor d based on the highest, lowest, and standard deviation. This factor is used to scale the intraday range in the next steps.
e = (high - low): Calculates the intraday range of the candle.
f = e / d: Estimates the standard deviation (f) of the intraday candle price using the scaling factor d.
g = hl2: Defines the intraday midpoint of the candle, which is the average of high and low prices.
i = g + 1 * f, j = g - 1 * f, k = g + 3 * f, l = g - 3 * f: Calculate values representing coverage of +1 SD, -1 SD, +3 SD, and -3 SD from the intraday midpoint.
The script utilizes historical high, low, and standard deviation values to dynamically estimate the standard deviation of the intraday candle, providing a measure of volatility for the current price range. This estimation is then used to construct a modified box plot around the intraday midpoint.
In addition I have included a 7 period hull moving average just to see the overall trend direction.
Conclusion:
The "Nasan Modified Box Plots" indicator on TradingView is a dynamic visualization tool that provides insights into the distribution of price ranges over a specified period. It adapts to changing market conditions by incorporating historical data in the calculation of a scaling factor (d). The indicator constructs a modified box plot, where the size of the box and the whiskers is determined by recent volatility
Scoopy StacksWaffle Around Multiple
(Open, High, Low, Close) Stacks On
Pre/Post Market & (Daily, Weekly,
Monthly, Yearly) Sessions With
Meticulous Columns, Rows, Tooltips,
Colors, Custom Ideas, and Alerts.
Sessions Use Two Step Incremental Values
Default Value: (1) Shows Two Previous
(O, H, L, C); Increasing Value Swaps
Sessions With Next Two Stacks.
⬛️ KEY WORDS:
🟢 Crossover | 🔴 Crossunder
📗 High | 📕 Low
📔 Open | 📓 Close
🥇 First Idea | 🥈 Second Idea
🥉 Third Idea | 🎖️ Fourth Idea
🟥 ALERTS:
Default Option: (Per Bar)
Alerts Once Conditions Are Met
(Bar Close) Alerts When Bar Closes
Default Option: (Reg)
Alerts During Regular Market
Trading Hours, (0930-1600)
(Ext) Alerts During Extended
Market Hours, (1600-0930)
(24/7) Alerts All Day
Optional Preferences:
Regular Alerts - Stocks
Extended Alerts - Futures
24/7 Alerts - Crypto
🟧 STACKS:
Default Value: (1)
Incremental Stack Value, Increasing Value
Swaps Sessions With the Next Two Stacks
(✓) Swap Stacks?
Pre/Post Market High/Lows,
1-2 Day High/Lows, 1-2 Week High/Lows,
1-2 Month High/Lows, 1-2 Year High/Lows
( ) Swap Stacks?
Pre/Post Market Open/Close,
1-2 Day Open/Close, 1-2 Week Open/Close,
1-2 Month Open/Close, 1-2 Year Open/Close
🟨 EXAMPLES:
Default Stack:
🟢 | 📗 Pre Market High (PRE) | 4600.00
🔴 | 📕 Post Market Low (POST) | 420.00
Optional: (Open)
🟢 | 📔 Post Market Open (POST) | 4400.00
Optional: (Close)
🔴 | 📓 Pre Market Close (PRE) | 430.00
Default Stack Value: (1)
🔴 | 📗 1 Day High (1DH) | 460.00
Next Stack Value: (3)
🟢 | 📕 4 Day Low (4DL) | 420.00
Optional: (Open)
🔴 | 📔 2 Day Open (2DO) | 440.00
Optional: (Close)
🟢 | 📓 3 Day Close (3DC) | 430.00
Default Stack Value: (5)
🟢 | 📗 5 Week High (5WH) | 460.00
Next Stack Value: (7)
🔴 | 📕 8 Week Low (8WL) | 420.00
Optional: (Open)
🔴 | 📔 7 Week Open (7WO) | 4400.00
Optional: (Close)
🟢 | 📓 6 Week Close (6WC) | 430.00
Default Stack Value: (9)
🔴 | 📗 9 Month High (9MH) | 460.00
Next Stack Value: (11)
🟢 | 📕 12 Month Low (12ML) | 420.00
Optional: (Open)
🟢 | 📔 11 Month Open (11MO) | 4400.00
Optional: (Close)
🔴 | 📓 10 Month Close (10MC) | 430.00
Default Stack Value: (13)
🟢 | 📗 13 Year High (13YH) | 460.00
Next Stack Value: (15)
🟢 | 📕 16 Year Low (16YL) | 420.00
Optional: (Open)
🔴 | 📔 15 Year Open (15YO) | 4400.00
Optional: (Close)
🔴 | 📓 14 Year Close (14YC) | 430.00
🟩 TABLES:
Default Value: (1)
Moves Table Up, Down, Left, or Right
Based on Second Default Value
First Default Value: (Top Right)
Sets Table Placement, Middle Center
Allows Table To Move In All Directions
Second Default Value: (Default)
Fixed Table Position, Switching Values
Moves Direction of the Table
🟦 IDEAS:
(✓) Show Ideas?
Shows Four Ideas With Custom Texts
and Values; Ideas Are Based Around
Post-It Note Reminders with Alerts
Suggestions For Text Ideas:
Take Profit, Stop Loss, Trim, Hold,
Long, Short, Bounce Spot, Retest,
Chop, Support, Resistance, Buy, Sell
🟪 EXAMPLES:
Default Value: (5)
Shows the Custom Table Value For
Sorted Table Positions and Alerts
Default Text: (🥇)
Shown On First Table Cell and
Message Appearing On Alerts
Alert Shows: 🟢 | 🥇 | 5.00
Default Value: (10)
Shows the Custom Table Value For
Sorted Table Positions and Alerts
Default Text: (🥈)
Shown On Second Table Cell and
Message Appearing On Alerts
Alert Shows: 🔴 | 🥈 | 10.00
Default Value: (50)
Shows the Custom Table Value For
Sorted Table Positions and Alerts
Default Text: (🥉)
Shown On Third Table Cell and
Message Appearing On Alerts
Alert Shows: 🟢 | 🥉 | 50.00
Default Value: (100)
Shows the Custom Table Value For
Sorted Table Positions and Alerts
Default Text: (🎖️)
Shown On Fourth Table Cell and
Message Appearing On Alerts
Alert Shows: 🔴 | 🎖️ | 100.00
⬛️ REFERENCES:
Pre-market Highs & Lows on regular
trading hours (RTH) chart
By Twingall
Previous Day Week Highs & Lows
By Sbtnc
Screener for 40+ instruments
By QuantNomad
Daily Weekly Monthly Yearly Opens
By Meliksah55
Ribbit RangesBounce Around Multiple
(Open, High, Low, Close) Ranges
On Pre/Post Market & (Daily, Weekly,
Monthly, Yearly) Sessions With
Meticulous Lines, Labels, Tooltips,
Colors, Custom Ideas, and Alerts.
Sessions Use Two Step Incremental Values
Default Value: (1) Shows Two Previous
(O, H, L, C); Increasing Value Swaps
Sessions With Next Two Ranges.
⬛️ KEY WORDS:
🟢 Crossover | 🔴 Crossunder
📗 High | 📕 Low
📔 Open | 📓 Close
🥇 First Idea | 🥈 Second Idea
🥉 Third Idea | 🎖️ Fourth Idea
🟥 ALERTS:
Default Option: (Per Bar)
Alerts Once Conditions Are Met
(Bar Close) Alerts When Bar Closes
Default Option: (Reg)
Alerts During Regular Market
Trading Hours, (0930-1600)
(Ext) Alerts During Extended
Market Hours, (1600-0930)
(24/7) Alerts All Day
Optional Preferences:
Regular Alerts - Stocks
Extended Alerts - Futures
24/7 Alerts - Crypto
🟧 RANGES:
Default Value: (1)
Incremental Range Value, Increasing Value
Swaps Sessions With the Next Two Ranges
(✓) Swap Ranges?
Pre/Post Market High/Lows,
1-2 Day High/Lows, 1-2 Week High/Lows,
1-2 Month High/Lows, 1-2 Year High/Lows
( ) Swap Ranges?
Pre/Post Market Open/Close,
1-2 Day Open/Close, 1-2 Week Open/Close,
1-2 Month Open/Close, 1-2 Year Open/Close
🟨 EXAMPLES:
Default Range:
🟢 | 📗 Pre Market High (PRE) | 4600.00
🔴 | 📕 Post Market Low (POST) | 420.00
Optional: (Open)
🟢 | 📔 Post Market Open (POST) | 4400.00
Optional: (Close)
🔴 | 📓 Pre Market Close (PRE) | 430.00
Default Range Value: (1)
🔴 | 📗 1 Day High (1DH) | 460.00
Next Range Value: (3)
🟢 | 📕 4 Day Low (4DL) | 420.00
Optional: (Open)
🔴 | 📔 2 Day Open (2DO) | 440.00
Optional: (Close)
🟢 | 📓 3 Day Close (3DC) | 430.00
Default Range Value: (5)
🟢 | 📗 5 Week High (5WH) | 460.00
Next Range Value: (7)
🔴 | 📕 8 Week Low (8WL) | 420.00
Optional: (Open)
🔴 | 📔 7 Week Open (7WO) | 4400.00
Optional: (Close)
🟢 | 📓 6 Week Close (6WC) | 430.00
Default Range Value: (9)
🔴 | 📗 9 Month High (9MH) | 460.00
Next Range Value: (11)
🟢 | 📕 12 Month Low (12ML) | 420.00
Optional: (Open)
🟢 | 📔 11 Month Open (11MO) | 4400.00
Optional: (Close)
🔴 | 📓 10 Month Close (10MC) | 430.00
Default Range Value: (13)
🟢 | 📗 13 Year High (13YH) | 460.00
Next Range Value: (15)
🟢 | 📕 16 Year Low (16YL) | 420.00
Optional: (Open)
🔴 | 📔 15 Year Open (15YO) | 4400.00
Optional: (Close)
🔴 | 📓 14 Year Close (14YC) | 430.00
🟩 COLORS:
(✓) Swap Colors?
Text Color Is Shown Using
Background Color
( ) Swap Colors?
Background Color Is Shown
Using Text Color
🟦 IDEAS:
(✓) Show Ideas?
Plots Four Ideas With Custom Lines
and Labels; Ideas Are Based Around
Post-It Note Reminders with Alerts
Suggestions For Text Ideas:
Take Profit, Stop Loss, Trim, Hold,
Long, Short, Bounce Spot, Retest,
Chop, Support, Resistance, Buy, Sell
🟪 EXAMPLES:
Default Value: (5)
Shows the Custom Value For
Lines, Labels, and Alerts
Default Text: (🥇)
Shown On First Label and
Message Appearing On Alerts
Alert Shows: 🟢 | 🥇 | 5.00
Default Value: (10)
Shows the Custom Value For
Lines, Labels, and Alerts
Default Text: (🥈)
Shown On Second Label and
Message Appearing On Alerts
Alert Shows: 🔴 | 🥈 | 10.00
Default Value: (50)
Shows the Custom Value For
Lines, Labels, and Alerts
Default Text: (🥉)
Shown On Third Label and
Message Appearing On Alerts
Alert Shows: 🟢 | 🥉 | 50.00
Default Value: (100)
Shows the Custom Value For
Lines, Labels, and Alerts
Default Text: (🎖️)
Shown On Fourth Label and
Message Appearing On Alerts
Alert Shows: 🔴 | 🎖️ | 100.00
⬛️ REFERENCES:
Pre-market Highs & Lows on regular
trading hours (RTH) chart
By Twingall
Previous Day Week Highs & Lows
By Sbtnc
Screener for 40+ instruments
By QuantNomad
Daily Weekly Monthly Yearly Opens
By Meliksah55
Z-Score Based Momentum Zones with Advanced Volatility ChannelsThe indicator "Z-Score Based Momentum Zones with Advanced Volatility Channels" combines various technical analysis components, including volatility, price changes, and volume correction, to calculate Z-Scores and determine momentum zones and provide a visual representation of price movements and volatility based on multi timeframe highest high and lowest low values.
Note: THIS IS A IMPROVEMNT OF "Multi Time Frame Composite Bands" INDICATOR OF MINE WITH MORE EMPHASIS ON MOMENTUM ZONES CALULATED BASED ON Z-SCORES
Input Options
look_back_length: This input specifies the look-back period for calculating intraday volatility. correction It is set to a default value of 5.
lookback_period: This input sets the look-back period for calculating relative price change. The default value is 5.
zscore_period: This input determines the look-back period for calculating the Z-Score. The default value is 500.
avgZscore_length: This input defines the length of the momentum block used in calculations, with a default value of 14.
include_vc: This is a boolean input that, if set to true, enables volume correction in the calculations. By default, it is set to false.
1. Volatility Bands (Composite High and Low):
Composite High and Low: These are calculated by combining different moving averages of the high prices (high) and low prices (low). Specifically:
a_high and a_low are calculated as the average of the highest (ta.highest) and lowest (ta.lowest) high and low prices over various look-back periods (5, 8, 13, 21, 34) to capture short and long-term trends.
b_high and b_low are calculated as the simple moving average (SMA) of the high and low prices over different look-back periods (5, 8, 13) to smooth out the trends.
high_c and low_c are obtained by averaging a_high with b_high and a_low with b_low respectively.
IDV Correction Calulation : In this script the Intraday Volatility (IDV) is calculated as the simple moving average (SMA) of the daily high-low price range divided by the closing price. This measures how much the price fluctuates in a given period.
Composite High and Low with Volatility: The final c_high and c_low values are obtained by adjusting high_c and low_c with the calculated intraday volatility (IDV). These values are used to create the "Composite High" and "Composite Low" plots.
Composite High and Low with Volatility Correction: The final c_high and c_low values are obtained by adjusting high_c and low_c with the calculated intraday volatility (IDV). These values are used to create the "Composite High" and "Composite Low" plots.
2. Momentum Blocks Based on Z-Score:
Relative Price Change (RPC):
The Relative Price Change (rpdev) is calculated as the difference between the current high-low-close average (hlc3) and the previous simple moving average (psma_hlc3) of the same quantity. This measures the change in price over time.
Additionally, std_hlc3 is calculated as the standard deviation of the hlc3 values over a specified look-back period. The standard deviation quantifies the dispersion or volatility in the price data.
The rpdev is then divided by the std_hlc3 to normalize the price change by the volatility. This normalization ensures that the price change is expressed in terms of standard deviations, which is a common practice in quantitative analysis.
Essentially, the rpdev represents how many standard deviations the current price is away from the previous moving average.
Volume Correction (VC): If the include_vc input is set to true, volume correction is applied by dividing the trading volume by the previous simple moving average of the volume (psma_volume). This accounts for changes in trading activity.
Volume Corrected Relative Price Change (VCRPD): The vcrpd is calculated by multiplying the rpdev by the volume correction factor (vc). This incorporates both price changes and volume data.
Z-Scores: The Z-scores are calculated by taking the difference between the vcrpd and the mean (mean_vcrpd) and then dividing it by the standard deviation (stddev_vcrpd). Z-scores measure how many standard deviations a value is away from the mean. They help identify whether a value is unusually high or low compared to its historical distribution.
Momentum Blocks: The "Momentum Blocks" are essentially derived from the Z-scores (avgZScore). The script assigns different colors to the "Fill Area" based on predefined Z-score ranges. These colored areas represent different momentum zones:
Positive Z-scores indicate bullish momentum, and different shades of green are used to fill the area.
Negative Z-scores indicate bearish momentum, and different shades of red are used.
Z-scores near zero (between -0.25 and 0.25) suggest neutrality, and a yellow color is used.
CNTLibraryLibrary "CNTLibrary"
Custom Functions To Help Code In Pinescript V5
Coded By Christian Nataliano
First Coded In 10/06/2023
Last Edited In 22/06/2023
Huge Shout Out To © ZenAndTheArtOfTrading and his ZenLibrary V5, Some Of The Custom Functions Were Heavily Inspired By Matt's Work & His Pine Script Mastery Course
Another Shout Out To The TradingView's Team Library ta V5
//====================================================================================================================================================
// Custom Indicator Functions
//====================================================================================================================================================
GetKAMA(KAMA_lenght, Fast_KAMA, Slow_KAMA)
Calculates An Adaptive Moving Average Based On Perry J Kaufman's Calculations
Parameters:
KAMA_lenght (int) : Is The KAMA Lenght
Fast_KAMA (int) : Is The KAMA's Fastes Moving Average
Slow_KAMA (int) : Is The KAMA's Slowest Moving Average
Returns: Float Of The KAMA's Current Calculations
GetMovingAverage(Source, Lenght, Type)
Get Custom Moving Averages Values
Parameters:
Source (float) : Of The Moving Average, Defval = close
Lenght (simple int) : Of The Moving Average, Defval = 50
Type (string) : Of The Moving Average, Defval = Exponential Moving Average
Returns: The Moving Average Calculation Based On Its Given Source, Lenght & Calculation Type (Please Call Function On Global Scope)
GetDecimals()
Calculates how many decimals are on the quote price of the current market © ZenAndTheArtOfTrading
Returns: The current decimal places on the market quote price
Truncate(number, decimalPlaces)
Truncates (cuts) excess decimal places © ZenAndTheArtOfTrading
Parameters:
number (float)
decimalPlaces (simple float)
Returns: The given number truncated to the given decimalPlaces
ToWhole(number)
Converts pips into whole numbers © ZenAndTheArtOfTrading
Parameters:
number (float)
Returns: The converted number
ToPips(number)
Converts whole numbers back into pips © ZenAndTheArtOfTrading
Parameters:
number (float)
Returns: The converted number
GetPctChange(value1, value2, lookback)
Gets the percentage change between 2 float values over a given lookback period © ZenAndTheArtOfTrading
Parameters:
value1 (float)
value2 (float)
lookback (int)
BarsAboveMA(lookback, ma)
Counts how many candles are above the MA © ZenAndTheArtOfTrading
Parameters:
lookback (int)
ma (float)
Returns: The bar count of how many recent bars are above the MA
BarsBelowMA(lookback, ma)
Counts how many candles are below the MA © ZenAndTheArtOfTrading
Parameters:
lookback (int)
ma (float)
Returns: The bar count of how many recent bars are below the EMA
BarsCrossedMA(lookback, ma)
Counts how many times the EMA was crossed recently © ZenAndTheArtOfTrading
Parameters:
lookback (int)
ma (float)
Returns: The bar count of how many times price recently crossed the EMA
GetPullbackBarCount(lookback, direction)
Counts how many green & red bars have printed recently (ie. pullback count) © ZenAndTheArtOfTrading
Parameters:
lookback (int)
direction (int)
Returns: The bar count of how many candles have retraced over the given lookback & direction
GetSwingHigh(Lookback, SwingType)
Check If Price Has Made A Recent Swing High
Parameters:
Lookback (int) : Is For The Swing High Lookback Period, Defval = 7
SwingType (int) : Is For The Swing High Type Of Identification, Defval = 1
Returns: A Bool - True If Price Has Made A Recent Swing High
GetSwingLow(Lookback, SwingType)
Check If Price Has Made A Recent Swing Low
Parameters:
Lookback (int) : Is For The Swing Low Lookback Period, Defval = 7
SwingType (int) : Is For The Swing Low Type Of Identification, Defval = 1
Returns: A Bool - True If Price Has Made A Recent Swing Low
//====================================================================================================================================================
// Custom Risk Management Functions
//====================================================================================================================================================
CalculateStopLossLevel(OrderType, Entry, StopLoss)
Calculate StopLoss Level
Parameters:
OrderType (int) : Is To Determine A Long / Short Position, Defval = 1
Entry (float) : Is The Entry Level Of The Order, Defval = na
StopLoss (float) : Is The Custom StopLoss Distance, Defval = 2x ATR Below Close
Returns: Float - The StopLoss Level In Actual Price As A
CalculateStopLossDistance(OrderType, Entry, StopLoss)
Calculate StopLoss Distance In Pips
Parameters:
OrderType (int) : Is To Determine A Long / Short Position, Defval = 1
Entry (float) : Is The Entry Level Of The Order, NEED TO INPUT PARAM
StopLoss (float) : Level Based On Previous Calculation, NEED TO INPUT PARAM
Returns: Float - The StopLoss Value In Pips
CalculateTakeProfitLevel(OrderType, Entry, StopLossDistance, RiskReward)
Calculate TakeProfit Level
Parameters:
OrderType (int) : Is To Determine A Long / Short Position, Defval = 1
Entry (float) : Is The Entry Level Of The Order, Defval = na
StopLossDistance (float)
RiskReward (float)
Returns: Float - The TakeProfit Level In Actual Price
CalculateTakeProfitDistance(OrderType, Entry, TakeProfit)
Get TakeProfit Distance In Pips
Parameters:
OrderType (int) : Is To Determine A Long / Short Position, Defval = 1
Entry (float) : Is The Entry Level Of The Order, NEED TO INPUT PARAM
TakeProfit (float) : Level Based On Previous Calculation, NEED TO INPUT PARAM
Returns: Float - The TakeProfit Value In Pips
CalculateConversionCurrency(AccountCurrency, SymbolCurrency, BaseCurrency)
Get The Conversion Currecny Between Current Account Currency & Current Pair's Quoted Currency (FOR FOREX ONLY)
Parameters:
AccountCurrency (simple string) : Is For The Account Currency Used
SymbolCurrency (simple string) : Is For The Current Symbol Currency (Front Symbol)
BaseCurrency (simple string) : Is For The Current Symbol Base Currency (Back Symbol)
Returns: Tuple Of A Bollean (Convert The Currency ?) And A String (Converted Currency)
CalculateConversionRate(ConvertCurrency, ConversionRate)
Get The Conversion Rate Between Current Account Currency & Current Pair's Quoted Currency (FOR FOREX ONLY)
Parameters:
ConvertCurrency (bool) : Is To Check If The Current Symbol Needs To Be Converted Or Not
ConversionRate (float) : Is The Quoted Price Of The Conversion Currency (Input The request.security Function Here)
Returns: Float Price Of Conversion Rate (If In The Same Currency Than Return Value Will Be 1.0)
LotSize(LotSizeSimple, Balance, Risk, SLDistance, ConversionRate)
Get Current Lot Size
Parameters:
LotSizeSimple (bool) : Is To Toggle Lot Sizing Calculation (Simple Is Good Enough For Stocks & Crypto, Whilst Complex Is For Forex)
Balance (float) : Is For The Current Account Balance To Calculate The Lot Sizing Based Off
Risk (float) : Is For The Current Risk Per Trade To Calculate The Lot Sizing Based Off
SLDistance (float) : Is The Current Position StopLoss Distance From Its Entry Price
ConversionRate (float) : Is The Currency Conversion Rate (Used For Complex Lot Sizing Only)
Returns: Float - Position Size In Units
ToLots(Units)
Converts Units To Lots
Parameters:
Units (float) : Is For How Many Units Need To Be Converted Into Lots (Minimun 1000 Units)
Returns: Float - Position Size In Lots
ToUnits(Lots)
Converts Lots To Units
Parameters:
Lots (float) : Is For How Many Lots Need To Be Converted Into Units (Minimun 0.01 Units)
Returns: Int - Position Size In Units
ToLotsInUnits(Units)
Converts Units To Lots Than Back To Units
Parameters:
Units (float) : Is For How Many Units Need To Be Converted Into Lots (Minimun 1000 Units)
Returns: Float - Position Size In Lots That Were Rounded To Units
ATRTrail(OrderType, SourceType, ATRPeriod, ATRMultiplyer, SwingLookback)
Calculate ATR Trailing Stop
Parameters:
OrderType (int) : Is To Determine A Long / Short Position, Defval = 1
SourceType (int) : Is To Determine Where To Calculate The ATR Trailing From, Defval = close
ATRPeriod (simple int) : Is To Change Its ATR Period, Defval = 20
ATRMultiplyer (float) : Is To Change Its ATR Trailing Distance, Defval = 1
SwingLookback (int) : Is To Change Its Swing HiLo Lookback (Only From Source Type 5), Defval = 7
Returns: Float - Number Of The Current ATR Trailing
DangerZone(WinRate, AvgRRR, Filter)
Calculate Danger Zone Of A Given Strategy
Parameters:
WinRate (float) : Is The Strategy WinRate
AvgRRR (float) : Is The Strategy Avg RRR
Filter (float) : Is The Minimum Profit It Needs To Be Out Of BE Zone, Defval = 3
Returns: Int - Value, 1 If Out Of Danger Zone, 0 If BE, -1 If In Danger Zone
IsQuestionableTrades(TradeTP, TradeSL)
Checks For Questionable Trades (Which Are Trades That Its TP & SL Level Got Hit At The Same Candle)
Parameters:
TradeTP (float) : Is The Trade In Question Take Profit Level
TradeSL (float) : Is The Trade In Question Stop Loss Level
Returns: Bool - True If The Last Trade Was A "Questionable Trade"
//====================================================================================================================================================
// Custom Strategy Functions
//====================================================================================================================================================
OpenLong(EntryID, LotSize, LimitPrice, StopPrice, Comment, CommentValue)
Open A Long Order Based On The Given Params
Parameters:
EntryID (string) : Is The Trade Entry ID, Defval = "Long"
LotSize (float) : Is The Lot Size Of The Trade, Defval = 1
LimitPrice (float) : Is The Limit Order Price To Set The Order At, Defval = Na / Market Order Execution
StopPrice (float) : Is The Stop Order Price To Set The Order At, Defval = Na / Market Order Execution
Comment (string) : Is The Order Comment, Defval = Long Entry Order
CommentValue (string) : Is For Custom Values In The Order Comment, Defval = Na
Returns: Void
OpenShort(EntryID, LotSize, LimitPrice, StopPrice, Comment, CommentValue)
Open A Short Order Based On The Given Params
Parameters:
EntryID (string) : Is The Trade Entry ID, Defval = "Short"
LotSize (float) : Is The Lot Size Of The Trade, Defval = 1
LimitPrice (float) : Is The Limit Order Price To Set The Order At, Defval = Na / Market Order Execution
StopPrice (float) : Is The Stop Order Price To Set The Order At, Defval = Na / Market Order Execution
Comment (string) : Is The Order Comment, Defval = Short Entry Order
CommentValue (string) : Is For Custom Values In The Order Comment, Defval = Na
Returns: Void
TP_SLExit(FromID, TPLevel, SLLevel, PercentageClose, Comment, CommentValue)
Exits Based On Predetermined TP & SL Levels
Parameters:
FromID (string) : Is The Trade ID That The TP & SL Levels Be Palced
TPLevel (float) : Is The Take Profit Level
SLLevel (float) : Is The StopLoss Level
PercentageClose (float) : Is The Amount To Close The Order At (In Percentage) Defval = 100
Comment (string) : Is The Order Comment, Defval = Exit Order
CommentValue (string) : Is For Custom Values In The Order Comment, Defval = Na
Returns: Void
CloseLong(ExitID, PercentageClose, Comment, CommentValue, Instant)
Exits A Long Order Based On A Specified Condition
Parameters:
ExitID (string) : Is The Trade ID That Will Be Closed, Defval = "Long"
PercentageClose (float) : Is The Amount To Close The Order At (In Percentage) Defval = 100
Comment (string) : Is The Order Comment, Defval = Exit Order
CommentValue (string) : Is For Custom Values In The Order Comment, Defval = Na
Instant (bool) : Is For Exit Execution Type, Defval = false
Returns: Void
CloseShort(ExitID, PercentageClose, Comment, CommentValue, Instant)
Exits A Short Order Based On A Specified Condition
Parameters:
ExitID (string) : Is The Trade ID That Will Be Closed, Defval = "Short"
PercentageClose (float) : Is The Amount To Close The Order At (In Percentage) Defval = 100
Comment (string) : Is The Order Comment, Defval = Exit Order
CommentValue (string) : Is For Custom Values In The Order Comment, Defval = Na
Instant (bool) : Is For Exit Execution Type, Defval = false
Returns: Void
BrokerCheck(Broker)
Checks Traded Broker With Current Loaded Chart Broker
Parameters:
Broker (string) : Is The Current Broker That Is Traded
Returns: Bool - True If Current Traded Broker Is Same As Loaded Chart Broker
OpenPC(LicenseID, OrderType, UseLimit, LimitPrice, SymbolPrefix, Symbol, SymbolSuffix, Risk, SL, TP, OrderComment, Spread)
Compiles Given Parameters Into An Alert String Format To Open Trades Using Pine Connector
Parameters:
LicenseID (string) : Is The Users PineConnector LicenseID
OrderType (int) : Is The Desired OrderType To Open
UseLimit (bool) : Is If We Want To Enter The Position At Exactly The Previous Closing Price
LimitPrice (float) : Is The Limit Price Of The Trade (Only For Pending Orders)
SymbolPrefix (string) : Is The Current Symbol Prefix (If Any)
Symbol (string) : Is The Traded Symbol
SymbolSuffix (string) : Is The Current Symbol Suffix (If Any)
Risk (float) : Is The Trade Risk Per Trade / Fixed Lot Sizing
SL (float) : Is The Trade SL In Price / In Pips
TP (float) : Is The Trade TP In Price / In Pips
OrderComment (string) : Is The Executed Trade Comment
Spread (float) : is The Maximum Spread For Execution
Returns: String - Pine Connector Order Syntax Alert Message
ClosePC(LicenseID, OrderType, SymbolPrefix, Symbol, SymbolSuffix)
Compiles Given Parameters Into An Alert String Format To Close Trades Using Pine Connector
Parameters:
LicenseID (string) : Is The Users PineConnector LicenseID
OrderType (int) : Is The Desired OrderType To Close
SymbolPrefix (string) : Is The Current Symbol Prefix (If Any)
Symbol (string) : Is The Traded Symbol
SymbolSuffix (string) : Is The Current Symbol Suffix (If Any)
Returns: String - Pine Connector Order Syntax Alert Message
//====================================================================================================================================================
// Custom Backtesting Calculation Functions
//====================================================================================================================================================
CalculatePNL(EntryPrice, ExitPrice, LotSize, ConversionRate)
Calculates Trade PNL Based On Entry, Eixt & Lot Size
Parameters:
EntryPrice (float) : Is The Trade Entry
ExitPrice (float) : Is The Trade Exit
LotSize (float) : Is The Trade Sizing
ConversionRate (float) : Is The Currency Conversion Rate (Used For Complex Lot Sizing Only)
Returns: Float - The Current Trade PNL
UpdateBalance(PrevBalance, PNL)
Updates The Previous Ginve Balance To The Next PNL
Parameters:
PrevBalance (float) : Is The Previous Balance To Be Updated
PNL (float) : Is The Current Trade PNL To Be Added
Returns: Float - The Current Updated PNL
CalculateSlpComm(PNL, MaxRate)
Calculates Random Slippage & Commisions Fees Based On The Parameters
Parameters:
PNL (float) : Is The Current Trade PNL
MaxRate (float) : Is The Upper Limit (In Percentage) Of The Randomized Fee
Returns: Float - A Percentage Fee Of The Current Trade PNL
UpdateDD(MaxBalance, Balance)
Calculates & Updates The DD Based On Its Given Parameters
Parameters:
MaxBalance (float) : Is The Maximum Balance Ever Recorded
Balance (float) : Is The Current Account Balance
Returns: Float - The Current Strategy DD
CalculateWR(TotalTrades, LongID, ShortID)
Calculate The Total, Long & Short Trades Win Rate
Parameters:
TotalTrades (int) : Are The Current Total Trades That The Strategy Has Taken
LongID (string) : Is The Order ID Of The Long Trades Of The Strategy
ShortID (string) : Is The Order ID Of The Short Trades Of The Strategy
Returns: Tuple Of Long WR%, Short WR%, Total WR%, Total Winning Trades, Total Losing Trades, Total Long Trades & Total Short Trades
CalculateAvgRRR(WinTrades, LossTrades)
Calculates The Overall Strategy Avg Risk Reward Ratio
Parameters:
WinTrades (int) : Are The Strategy Winning Trades
LossTrades (int) : Are The Strategy Losing Trades
Returns: Float - The Average RRR Values
CAGR(StartTime, StartPrice, EndTime, EndPrice)
Calculates The CAGR Over The Given Time Period © TradingView
Parameters:
StartTime (int) : Is The Starting Time Of The Calculation
StartPrice (float) : Is The Starting Price Of The Calculation
EndTime (int) : Is The Ending Time Of The Calculation
EndPrice (float) : Is The Ending Price Of The Calculation
Returns: Float - The CAGR Values
//====================================================================================================================================================
// Custom Plot Functions
//====================================================================================================================================================
EditLabels(LabelID, X1, Y1, Text, Color, TextColor, EditCondition, DeleteCondition)
Edit / Delete Labels
Parameters:
LabelID (label) : Is The ID Of The Selected Label
X1 (int) : Is The X1 Coordinate IN BARINDEX Xloc
Y1 (float) : Is The Y1 Coordinate IN PRICE Yloc
Text (string) : Is The Text Than Wants To Be Written In The Label
Color (color) : Is The Color Value Change Of The Label Text
TextColor (color)
EditCondition (int) : Is The Edit Condition of The Line (Setting Location / Color)
DeleteCondition (bool) : Is The Delete Condition Of The Line If Ture Deletes The Prev Itteration Of The Line
Returns: Void
EditLine(LineID, X1, Y1, X2, Y2, Color, EditCondition, DeleteCondition)
Edit / Delete Lines
Parameters:
LineID (line) : Is The ID Of The Selected Line
X1 (int) : Is The X1 Coordinate IN BARINDEX Xloc
Y1 (float) : Is The Y1 Coordinate IN PRICE Yloc
X2 (int) : Is The X2 Coordinate IN BARINDEX Xloc
Y2 (float) : Is The Y2 Coordinate IN PRICE Yloc
Color (color) : Is The Color Value Change Of The Line
EditCondition (int) : Is The Edit Condition of The Line (Setting Location / Color)
DeleteCondition (bool) : Is The Delete Condition Of The Line If Ture Deletes The Prev Itteration Of The Line
Returns: Void
//====================================================================================================================================================
// Custom Display Functions (Using Tables)
//====================================================================================================================================================
FillTable(TableID, Column, Row, Title, Value, BgColor, TextColor, ToolTip)
Filling The Selected Table With The Inputed Information
Parameters:
TableID (table) : Is The Table ID That Wants To Be Edited
Column (int) : Is The Current Column Of The Table That Wants To Be Edited
Row (int) : Is The Current Row Of The Table That Wants To Be Edited
Title (string) : Is The String Title Of The Current Cell Table
Value (string) : Is The String Value Of The Current Cell Table
BgColor (color) : Is The Selected Color For The Current Table
TextColor (color) : Is The Selected Color For The Current Table
ToolTip (string) : Is The ToolTip Of The Current Cell In The Table
Returns: Void
DisplayBTResults(TableID, BgColor, TextColor, StartingBalance, Balance, DollarReturn, TotalPips, MaxDD)
Filling The Selected Table With The Inputed Information
Parameters:
TableID (table) : Is The Table ID That Wants To Be Edited
BgColor (color) : Is The Selected Color For The Current Table
TextColor (color) : Is The Selected Color For The Current Table
StartingBalance (float) : Is The Account Starting Balance
Balance (float)
DollarReturn (float) : Is The Account Dollar Reture
TotalPips (float) : Is The Total Pips Gained / loss
MaxDD (float) : Is The Maximum Drawdown Over The Backtesting Period
Returns: Void
DisplayBTResultsV2(TableID, BgColor, TextColor, TotalWR, QTCount, LongWR, ShortWR, InitialCapital, CumProfit, CumFee, AvgRRR, MaxDD, CAGR, MeanDD)
Filling The Selected Table With The Inputed Information
Parameters:
TableID (table) : Is The Table ID That Wants To Be Edited
BgColor (color) : Is The Selected Color For The Current Table
TextColor (color) : Is The Selected Color For The Current Table
TotalWR (float) : Is The Strategy Total WR In %
QTCount (int) : Is The Strategy Questionable Trades Count
LongWR (float) : Is The Strategy Total WR In %
ShortWR (float) : Is The Strategy Total WR In %
InitialCapital (float) : Is The Strategy Initial Starting Capital
CumProfit (float) : Is The Strategy Ending Cumulative Profit
CumFee (float) : Is The Strategy Ending Cumulative Fee (Based On Randomized Fee Assumptions)
AvgRRR (float) : Is The Strategy Average Risk Reward Ratio
MaxDD (float) : Is The Strategy Maximum DrawDown In Its Backtesting Period
CAGR (float) : Is The Strategy Compounded Average GRowth In %
MeanDD (float) : Is The Strategy Mean / Average Drawdown In The Backtesting Period
Returns: Void
//====================================================================================================================================================
// Custom Pattern Detection Functions
//====================================================================================================================================================
BullFib(priceLow, priceHigh, fibRatio)
Calculates A Bullish Fibonacci Value (From Swing Low To High) © ZenAndTheArtOfTrading
Parameters:
priceLow (float)
priceHigh (float)
fibRatio (float)
Returns: The Fibonacci Value Of The Given Ratio Between The Two Price Points
BearFib(priceLow, priceHigh, fibRatio)
Calculates A Bearish Fibonacci Value (From Swing High To Low) © ZenAndTheArtOfTrading
Parameters:
priceLow (float)
priceHigh (float)
fibRatio (float)
Returns: The Fibonacci Value Of The Given Ratio Between The Two Price Points
GetBodySize()
Gets The Current Candle Body Size IN POINTS © ZenAndTheArtOfTrading
Returns: The Current Candle Body Size IN POINTS
GetTopWickSize()
Gets The Current Candle Top Wick Size IN POINTS © ZenAndTheArtOfTrading
Returns: The Current Candle Top Wick Size IN POINTS
GetBottomWickSize()
Gets The Current Candle Bottom Wick Size IN POINTS © ZenAndTheArtOfTrading
Returns: The Current Candle Bottom Wick Size IN POINTS
GetBodyPercent()
Gets The Current Candle Body Size As A Percentage Of Its Entire Size Including Its Wicks © ZenAndTheArtOfTrading
Returns: The Current Candle Body Size IN PERCENTAGE
GetTopWickPercent()
Gets The Current Top Wick Size As A Percentage Of Its Entire Body Size
Returns: Float - The Current Candle Top Wick Size IN PERCENTAGE
GetBottomWickPercent()
Gets The Current Bottom Wick Size As A Percentage Of Its Entire Bodu Size
Returns: Float - The Current Candle Bottom Size IN PERCENTAGE
BullishEC(Allowance, RejectionWickSize, EngulfWick, NearSwings, SwingLookBack)
Checks If The Current Bar Is A Bullish Engulfing Candle
Parameters:
Allowance (int) : To Give Flexibility Of Engulfing Pattern Detection In Markets That Have Micro Gaps, Defval = 0
RejectionWickSize (float) : To Filter Out long (Upper And Lower) Wick From The Bullsih Engulfing Pattern, Defval = na
EngulfWick (bool) : To Specify If We Want The Pattern To Also Engulf Its Upper & Lower Previous Wicks, Defval = false
NearSwings (bool) : To Specify If We Want The Pattern To Be Near A Recent Swing Low, Defval = true
SwingLookBack (int) : To Specify How Many Bars Back To Detect A Recent Swing Low, Defval = 10
Returns: Bool - True If The Current Bar Matches The Requirements of a Bullish Engulfing Candle
BearishEC(Allowance, RejectionWickSize, EngulfWick, NearSwings, SwingLookBack)
Checks If The Current Bar Is A Bearish Engulfing Candle
Parameters:
Allowance (int) : To Give Flexibility Of Engulfing Pattern Detection In Markets That Have Micro Gaps, Defval = 0
RejectionWickSize (float) : To Filter Out long (Upper And Lower) Wick From The Bearish Engulfing Pattern, Defval = na
EngulfWick (bool) : To Specify If We Want The Pattern To Also Engulf Its Upper & Lower Previous Wicks, Defval = false
NearSwings (bool) : To Specify If We Want The Pattern To Be Near A Recent Swing High, Defval = true
SwingLookBack (int) : To Specify How Many Bars Back To Detect A Recent Swing High, Defval = 10
Returns: Bool - True If The Current Bar Matches The Requirements of a Bearish Engulfing Candle
Hammer(Fib, ColorMatch, NearSwings, SwingLookBack, ATRFilterCheck, ATRPeriod)
Checks If The Current Bar Is A Hammer Candle
Parameters:
Fib (float) : To Specify Which Fibonacci Ratio To Use When Determining The Hammer Candle, Defval = 0.382 Ratio
ColorMatch (bool) : To Filter Only Bullish Closed Hammer Candle Pattern, Defval = false
NearSwings (bool) : To Specify If We Want The Doji To Be Near A Recent Swing Low, Defval = true
SwingLookBack (int) : To Specify How Many Bars Back To Detect A Recent Swing Low, Defval = 10
ATRFilterCheck (float) : To Filter Smaller Hammer Candles That Might Be Better Classified As A Doji Candle, Defval = 1
ATRPeriod (simple int) : To Change ATR Period Of The ATR Filter, Defval = 20
Returns: Bool - True If The Current Bar Matches The Requirements of a Hammer Candle
Star(Fib, ColorMatch, NearSwings, SwingLookBack, ATRFilterCheck, ATRPeriod)
Checks If The Current Bar Is A Hammer Candle
Parameters:
Fib (float) : To Specify Which Fibonacci Ratio To Use When Determining The Hammer Candle, Defval = 0.382 Ratio
ColorMatch (bool) : To Filter Only Bullish Closed Hammer Candle Pattern, Defval = false
NearSwings (bool) : To Specify If We Want The Doji To Be Near A Recent Swing Low, Defval = true
SwingLookBack (int) : To Specify How Many Bars Back To Detect A Recent Swing Low, Defval = 10
ATRFilterCheck (float) : To Filter Smaller Hammer Candles That Might Be Better Classified As A Doji Candle, Defval = 1
ATRPeriod (simple int) : To Change ATR Period Of The ATR Filter, Defval = 20
Returns: Bool - True If The Current Bar Matches The Requirements of a Hammer Candle
Doji(MaxWickSize, MaxBodySize, DojiType, NearSwings, SwingLookBack)
Checks If The Current Bar Is A Doji Candle
Parameters:
MaxWickSize (float) : To Specify The Maximum Lenght Of Its Upper & Lower Wick, Defval = 2
MaxBodySize (float) : To Specify The Maximum Lenght Of Its Candle Body IN PERCENT, Defval = 0.05
DojiType (int)
NearSwings (bool) : To Specify If We Want The Doji To Be Near A Recent Swing High / Low (Only In Dragonlyf / Gravestone Mode), Defval = true
SwingLookBack (int) : To Specify How Many Bars Back To Detect A Recent Swing High / Low (Only In Dragonlyf / Gravestone Mode), Defval = 10
Returns: Bool - True If The Current Bar Matches The Requirements of a Doji Candle
BullishIB(Allowance, RejectionWickSize, EngulfWick, NearSwings, SwingLookBack)
Checks If The Current Bar Is A Bullish Harami Candle
Parameters:
Allowance (int) : To Give Flexibility Of Harami Pattern Detection In Markets That Have Micro Gaps, Defval = 0
RejectionWickSize (float) : To Filter Out long (Upper And Lower) Wick From The Bullsih Harami Pattern, Defval = na
EngulfWick (bool) : To Specify If We Want The Pattern To Also Engulf Its Upper & Lower Previous Wicks, Defval = false
NearSwings (bool) : To Specify If We Want The Pattern To Be Near A Recent Swing Low, Defval = true
SwingLookBack (int) : To Specify How Many Bars Back To Detect A Recent Swing Low, Defval = 10
Returns: Bool - True If The Current Bar Matches The Requirements of a Bullish Harami Candle
BearishIB(Allowance, RejectionWickSize, EngulfWick, NearSwings, SwingLookBack)
Checks If The Current Bar Is A Bullish Harami Candle
Parameters:
Allowance (int) : To Give Flexibility Of Harami Pattern Detection In Markets That Have Micro Gaps, Defval = 0
RejectionWickSize (float) : To Filter Out long (Upper And Lower) Wick From The Bearish Harami Pattern, Defval = na
EngulfWick (bool) : To Specify If We Want The Pattern To Also Engulf Its Upper & Lower Previous Wicks, Defval = false
NearSwings (bool) : To Specify If We Want The Pattern To Be Near A Recent Swing High, Defval = true
SwingLookBack (int) : To Specify How Many Bars Back To Detect A Recent Swing High, Defval = 10
Returns: Bool - True If The Current Bar Matches The Requirements of a Bearish Harami Candle
//====================================================================================================================================================
// Custom Time Functions
//====================================================================================================================================================
BarInSession(sess, useFilter)
Determines if the current price bar falls inside the specified session © ZenAndTheArtOfTrading
Parameters:
sess (simple string)
useFilter (bool)
Returns: A boolean - true if the current bar falls within the given time session
BarOutSession(sess, useFilter)
Determines if the current price bar falls outside the specified session © ZenAndTheArtOfTrading
Parameters:
sess (simple string)
useFilter (bool)
Returns: A boolean - true if the current bar falls outside the given time session
DateFilter(startTime, endTime)
Determines if this bar's time falls within date filter range © ZenAndTheArtOfTrading
Parameters:
startTime (int)
endTime (int)
Returns: A boolean - true if the current bar falls within the given dates
DayFilter(monday, tuesday, wednesday, thursday, friday, saturday, sunday)
Checks if the current bar's day is in the list of given days to analyze © ZenAndTheArtOfTrading
Parameters:
monday (bool)
tuesday (bool)
wednesday (bool)
thursday (bool)
friday (bool)
saturday (bool)
sunday (bool)
Returns: A boolean - true if the current bar's day is one of the given days
AUSSess()
Checks If The Current Australian Forex Session In Running
Returns: Bool - True If Currently The Australian Session Is Running
ASIASess()
Checks If The Current Asian Forex Session In Running
Returns: Bool - True If Currently The Asian Session Is Running
EURSess()
Checks If The Current European Forex Session In Running
Returns: Bool - True If Currently The European Session Is Running
USSess()
Checks If The Current US Forex Session In Running
Returns: Bool - True If Currently The US Session Is Running
UNIXToDate(Time, ConversionType, TimeZone)
Converts UNIX Time To Datetime
Parameters:
Time (int) : Is The UNIX Time Input
ConversionType (int) : Is The Datetime Output Format, Defval = DD-MM-YYYY
TimeZone (string) : Is To Convert The Outputed Datetime Into The Specified Time Zone, Defval = Exchange Time Zone
Returns: String - String Of Datetime
Candle Counter [theEccentricTrader]█ OVERVIEW
This indicator counts the number of confirmed candle scenarios on any given candlestick chart and displays the statistics in a table, which can be repositioned and resized at the user's discretion.
█ CONCEPTS
Green and Red Candles
A green candle is one that closes with a high price equal to or above the price it opened.
A red candle is one that closes with a low price that is lower than the price it opened.
Upper Candle Trends
A higher high candle is one that closes with a higher high price than the high price of the preceding candle.
A lower high candle is one that closes with a lower high price than the high price of the preceding candle.
A double-top candle is one that closes with a high price that is equal to the high price of the preceding candle.
Lower Candle Trends
A higher low candle is one that closes with a higher low price than the low price of the preceding candle.
A lower low candle is one that closes with a lower low price than the low price of the preceding candle.
A double-bottom candle is one that closes with a low price that is equal to the low price of the preceding candle.
█ FEATURES
Inputs
Start Date
End Date
Position
Text Size
Show Sample Period
Show Plots
Table
The table is colour coded, consists of three columns and twenty-two rows. Blue cells denote all candle scenarios, green cells denote green candle scenarios and red cells denote red candle scenarios.
The candle scenarios are listed in the first column with their corresponding total counts to the right, in the second column. The last row in column one, row twenty-two, displays the sample period which can be adjusted or hidden via indicator settings.
Rows two and three in the third column of the table display the total green and red candles as percentages of total candles. Rows four to nine in column three, coloured blue, display the corresponding candle scenarios as percentages of total candles. Rows ten to fifteen in column three, coloured green, display the corresponding candle scenarios as percentages of total green candles. And lastly, rows sixteen to twenty-one in column three, coloured red, display the corresponding candle scenarios as percentages of total red candles.
Plots
I have added plots as a visual aid to the various candle scenarios listed in the table. Green up-arrows denote higher high candles when above bar and higher low candles when below bar. Red down-arrows denote lower high candles when above bar and lower low candles when below bar. Similarly, blue diamonds when above bar denote double-top candles and when below bar denote double-bottom candles. These plots can also be hidden via indicator settings.
█ HOW TO USE
This indicator is intended for research purposes and strategy development. I hope it will be useful in helping to gain a better understanding of the underlying dynamics at play on any given market and timeframe. It can, for example, give you an idea of any inherent biases such as a greater proportion of green candles to red. Or a greater proportion of higher low green candles to lower low green candles. Such information can be very useful when conducting top down analysis across multiple timeframes, or considering trailing stop loss methods.
What you do with these statistics and how far you decide to take your research is entirely up to you, the possibilities are endless.
This is just the first and most basic in a series of indicators that can be used to study objective price action scenarios and develop a systematic approach to trading.
█ LIMITATIONS
Some higher timeframe candles on tickers with larger lookbacks such as the DXY, do not actually contain all the open, high, low and close (OHLC) data at the beginning of the chart. Instead, they use the close price for open, high and low prices. So, while we can determine whether the close price is higher or lower than the preceding close price, there is no way of knowing what actually happened intra-bar for these candles. And by default candles that close at the same price as the open price, will be counted as green. You can avoid this problem by utilising the sample period filter.
The green and red candle calculations are based solely on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with. Alternatively, you can replace the scenarios with your own logic to account for the gap anomalies, if you are feeling up to the challenge.
It is also worth noting that the sample size will be limited to your Trading View subscription plan. Premium users get 20,000 candles worth of data, pro+ and pro users get 10,000, and basic users get 5,000. If upgrading is currently not an option, you can always keep a rolling tally of the statistics in an excel spreadsheet or something of the like.
MomentumIndicatorsLibrary "MomentumIndicators"
This is a library of 'Momentum Indicators', also denominated as oscillators.
The purpose of this library is to organize momentum indicators in just one place, making it easy to access.
In addition, it aims to allow customized versions, not being restricted to just the price value.
An example of this use case is the popular Stochastic RSI.
# Indicators:
1. Relative Strength Index (RSI):
Measures the relative strength of recent price gains to recent price losses of an asset.
2. Rate of Change (ROC):
Measures the percentage change in price of an asset over a specified time period.
3. Stochastic Oscillator (Stoch):
Compares the current price of an asset to its price range over a specified time period.
4. True Strength Index (TSI):
Measures the price change, calculating the ratio of the price change (positive or negative) in relation to the
absolute price change.
The values of both are smoothed twice to reduce noise, and the final result is normalized
in a range between 100 and -100.
5. Stochastic Momentum Index (SMI):
Combination of the True Strength Index with a signal line to help identify turning points in the market.
6. Williams Percent Range (Williams %R):
Compares the current price of an asset to its highest high and lowest low over a specified time period.
7. Commodity Channel Index (CCI):
Measures the relationship between an asset's current price and its moving average.
8. Ultimate Oscillator (UO):
Combines three different time periods to help identify possible reversal points.
9. Moving Average Convergence/Divergence (MACD):
Shows the difference between short-term and long-term exponential moving averages.
10. Fisher Transform (FT):
Normalize prices into a Gaussian normal distribution.
11. Inverse Fisher Transform (IFT):
Transform the values of the Fisher Transform into a smaller and more easily interpretable scale is through the
application of an inverse transformation to the hyperbolic tangent function.
This transformation takes the values of the FT, which range from -infinity to +infinity, to a scale limited
between -1 and +1, allowing them to be more easily visualized and compared.
12. Premier Stochastic Oscillator (PSO):
Normalizes the standard stochastic oscillator by applying a five-period double exponential smoothing average of
the %K value, resulting in a symmetric scale of 1 to -1
# Indicators of indicators:
## Stochastic:
1. Stochastic of RSI (Relative Strengh Index)
2. Stochastic of ROC (Rate of Change)
3. Stochastic of UO (Ultimate Oscillator)
4. Stochastic of TSI (True Strengh Index)
5. Stochastic of Williams R%
6. Stochastic of CCI (Commodity Channel Index).
7. Stochastic of MACD (Moving Average Convergence/Divergence)
8. Stochastic of FT (Fisher Transform)
9. Stochastic of Volume
10. Stochastic of MFI (Money Flow Index)
11. Stochastic of On OBV (Balance Volume)
12. Stochastic of PVI (Positive Volume Index)
13. Stochastic of NVI (Negative Volume Index)
14. Stochastic of PVT (Price-Volume Trend)
15. Stochastic of VO (Volume Oscillator)
16. Stochastic of VROC (Volume Rate of Change)
## Inverse Fisher Transform:
1.Inverse Fisher Transform on RSI (Relative Strengh Index)
2.Inverse Fisher Transform on ROC (Rate of Change)
3.Inverse Fisher Transform on UO (Ultimate Oscillator)
4.Inverse Fisher Transform on Stochastic
5.Inverse Fisher Transform on TSI (True Strength Index)
6.Inverse Fisher Transform on CCI (Commodity Channel Index)
7.Inverse Fisher Transform on Fisher Transform (FT)
8.Inverse Fisher Transform on MACD (Moving Average Convergence/Divergence)
9.Inverse Fisher Transfor on Williams R% (Williams Percent Range)
10.Inverse Fisher Transfor on CMF (Chaikin Money Flow)
11.Inverse Fisher Transform on VO (Volume Oscillator)
12.Inverse Fisher Transform on VROC (Volume Rate of Change)
## Stochastic Momentum Index:
1.Stochastic Momentum Index of RSI (Relative Strength Index)
2.Stochastic Momentum Index of ROC (Rate of Change)
3.Stochastic Momentum Index of VROC (Volume Rate of Change)
4.Stochastic Momentum Index of Williams R% (Williams Percent Range)
5.Stochastic Momentum Index of FT (Fisher Transform)
6.Stochastic Momentum Index of CCI (Commodity Channel Index)
7.Stochastic Momentum Index of UO (Ultimate Oscillator)
8.Stochastic Momentum Index of MACD (Moving Average Convergence/Divergence)
9.Stochastic Momentum Index of Volume
10.Stochastic Momentum Index of MFI (Money Flow Index)
11.Stochastic Momentum Index of CMF (Chaikin Money Flow)
12.Stochastic Momentum Index of On Balance Volume (OBV)
13.Stochastic Momentum Index of Price-Volume Trend (PVT)
14.Stochastic Momentum Index of Volume Oscillator (VO)
15.Stochastic Momentum Index of Positive Volume Index (PVI)
16.Stochastic Momentum Index of Negative Volume Index (NVI)
## Relative Strength Index:
1. RSI for Volume
2. RSI for Moving Average
rsi(source, length)
RSI (Relative Strengh Index). Measures the relative strength of recent price gains to recent price losses of an asset.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period of loopback
Returns: (float) Series of RSI
roc(source, length)
ROC (Rate of Change). Measures the percentage change in price of an asset over a specified time period.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period of loopback
Returns: (float) Series of ROC
stoch(kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Stochastic Oscillator. Compares the current price of an asset to its price range over a specified time period.
Parameters:
kLength
kSmoothing : (int) Period for smoothig stochastic
dSmoothing : (int) Period for signal (moving average of stochastic)
maTypeK : (int) Type of Moving Average for Stochastic Oscillator
maTypeD : (int) Type of Moving Average for Stochastic Oscillator Signal
almaOffsetKD : (float) Offset for Arnaud Legoux Moving Average for Oscillator and Signal
almaSigmaKD : (float) Sigma for Arnaud Legoux Moving Average for Oscillator and Signal
lsmaOffSetKD : (int) Offset for Least Squares Moving Average for Oscillator and Signal
Returns: A tuple of Stochastic Oscillator and Moving Average of Stochastic Oscillator
stoch(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Stochastic Oscillator. Customized source. Compares the current price of an asset to its price range over a specified time period.
Parameters:
source : (float) Source of series (close, high, low, etc.)
kLength : (int) Period of loopback to calculate the stochastic
kSmoothing : (int) Period for smoothig stochastic
dSmoothing : (int) Period for signal (moving average of stochastic)
maTypeK : (int) Type of Moving Average for Stochastic Oscillator
maTypeD : (int) Type of Moving Average for Stochastic Oscillator Signal
almaOffsetKD : (float) Offset for Arnaud Legoux Moving Average for Stoch and Signal
almaSigmaKD : (float) Sigma for Arnaud Legoux Moving Average for Stoch and Signal
lsmaOffSetKD : (int) Offset for Least Squares Moving Average for Stoch and Signal
Returns: A tuple of Stochastic Oscillator and Moving Average of Stochastic Oscillator
tsi(source, shortLength, longLength, maType, almaOffset, almaSigma, lsmaOffSet)
TSI (True Strengh Index). Measures the price change, calculating the ratio of the price change (positive or negative) in relation to the absolute price change.
The values of both are smoothed twice to reduce noise, and the final result is normalized in a range between 100 and -100.
Parameters:
source : (float) Source of series (close, high, low, etc.)
shortLength : (int) Short length
longLength : (int) Long length
maType : (int) Type of Moving Average for TSI
almaOffset : (float) Offset for Arnaud Legoux Moving Average
almaSigma : (float) Sigma for Arnaud Legoux Moving Average
lsmaOffSet : (int) Offset for Least Squares Moving Average
Returns: (float) TSI
smi(sourceTSI, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
SMI (Stochastic Momentum Index). A TSI (True Strengh Index) plus a signal line.
Parameters:
sourceTSI : (float) Source of series for TSI (close, high, low, etc.)
shortLengthTSI : (int) Short length for TSI
longLengthTSI : (int) Long length for TSI
maTypeTSI : (int) Type of Moving Average for Signal of TSI
almaOffsetTSI : (float) Offset for Arnaud Legoux Moving Average
almaSigmaTSI : (float) Sigma for Arnaud Legoux Moving Average
lsmaOffSetTSI : (int) Offset for Least Squares Moving Average
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
Returns: A tuple with TSI, signal of TSI and histogram of difference
wpr(source, length)
Williams R% (Williams Percent Range). Compares the current price of an asset to its highest high and lowest low over a specified time period.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period of loopback
Returns: (float) Series of Williams R%
cci(source, length, maType, almaOffset, almaSigma, lsmaOffSet)
CCI (Commodity Channel Index). Measures the relationship between an asset's current price and its moving average.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period of loopback
maType : (int) Type of Moving Average
almaOffset : (float) Offset for Arnaud Legoux Moving Average
almaSigma : (float) Sigma for Arnaud Legoux Moving Average
lsmaOffSet : (int) Offset for Least Squares Moving Average
Returns: (float) Series of CCI
ultimateOscillator(fastLength, middleLength, slowLength)
UO (Ultimate Oscilator). Combines three different time periods to help identify possible reversal points.
Parameters:
fastLength : (int) Fast period of loopback
middleLength : (int) Middle period of loopback
slowLength : (int) Slow period of loopback
Returns: (float) Series of Ultimate Oscilator
ultimateOscillator(source, fastLength, middleLength, slowLength)
UO (Ultimate Oscilator). Customized source. Combines three different time periods to help identify possible reversal points.
Parameters:
source : (float) Source of series (close, high, low, etc.)
fastLength : (int) Fast period of loopback
middleLength : (int) Middle period of loopback
slowLength : (int) Slow period of loopback
Returns: (float) Series of Ultimate Oscilator
macd(source, fastLength, slowLength, signalLength, maTypeFast, maTypeSlow, maTypeMACD, almaOffset, almaSigma, lsmaOffSet)
MACD (Moving Average Convergence/Divergence). Shows the difference between short-term and long-term exponential moving averages.
Parameters:
source : (float) Source of series (close, high, low, etc.)
fastLength : (int) Period for fast moving average
slowLength : (int) Period for slow moving average
signalLength : (int) Signal length
maTypeFast : (int) Type of fast moving average
maTypeSlow : (int) Type of slow moving average
maTypeMACD : (int) Type of MACD moving average
almaOffset : (float) Offset for Arnaud Legoux Moving Average
almaSigma : (float) Sigma for Arnaud Legoux Moving Average
lsmaOffSet : (int) Offset for Least Squares Moving Average
Returns: A tuple with MACD, Signal, and Histgram
fisher(length)
Fisher Transform. Normalize prices into a Gaussian normal distribution.
Parameters:
length
Returns: A tuple with Fisher Transform and signal
fisher(source, length)
Fisher Transform. Customized source. Normalize prices into a Gaussian normal distribution.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length
Returns: A tuple with Fisher Transform and signal
inverseFisher(source, length, subtrahend, denominator)
Inverse Fisher Transform.
Transform the values of the Fisher Transform into a smaller and more easily interpretable scale is
through the application of an inverse transformation to the hyperbolic tangent function.
This transformation takes the values of the FT, which range from -infinity to +infinity,
to a scale limited between -1 and +1, allowing them to be more easily visualized and compared.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period for loopback
subtrahend : (int) Denominator. Useful in unbounded indicators. For example, in CCI.
denominator
Returns: (float) Series of Inverse Fisher Transform
premierStoch(length, smoothlen)
Premier Stochastic Oscillator (PSO).
Normalizes the standard stochastic oscillator by applying a five-period double exponential smoothing
average of the %K value, resulting in a symmetric scale of 1 to -1.
Parameters:
length : (int) Period for loopback
smoothlen : (int) Period for smoothing
Returns: (float) Series of PSO
premierStoch(source, smoothlen, subtrahend, denominator)
Premier Stochastic Oscillator (PSO) of custom source.
Normalizes the source by applying a five-period double exponential smoothing average.
Parameters:
source : (float) Source of series (close, high, low, etc.)
smoothlen : (int) Period for smoothing
subtrahend : (int) Denominator. Useful in unbounded indicators. For example, in CCI.
denominator
Returns: (float) Series of PSO
stochRsi(sourceRSI, lengthRSI, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
sourceRSI
lengthRSI
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochRoc(sourceROC, lengthROC, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
sourceROC
lengthROC
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochUO(fastLength, middleLength, slowLength, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
fastLength
middleLength
slowLength
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochTSI(source, shortLength, longLength, maType, almaOffset, almaSigma, lsmaOffSet, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
shortLength
longLength
maType
almaOffset
almaSigma
lsmaOffSet
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochWPR(source, length, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
length
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochCCI(source, length, maType, almaOffset, almaSigma, lsmaOffSet, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
length
maType
almaOffset
almaSigma
lsmaOffSet
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochMACD(source, fastLength, slowLength, signalLength, maTypeFast, maTypeSlow, maTypeMACD, almaOffset, almaSigma, lsmaOffSet, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
fastLength
slowLength
signalLength
maTypeFast
maTypeSlow
maTypeMACD
almaOffset
almaSigma
lsmaOffSet
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochFT(length, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
length
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochVolume(kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochMFI(source, length, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
length
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochOBV(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochPVI(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochNVI(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochPVT(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochVO(shortLen, longLen, maType, almaOffset, almaSigma, lsmaOffSet, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
shortLen
longLen
maType
almaOffset
almaSigma
lsmaOffSet
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochVROC(length, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
length
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
iftRSI(sourceRSI, lengthRSI, lengthIFT)
Parameters:
sourceRSI
lengthRSI
lengthIFT
iftROC(sourceROC, lengthROC, lengthIFT)
Parameters:
sourceROC
lengthROC
lengthIFT
iftUO(fastLength, middleLength, slowLength, lengthIFT)
Parameters:
fastLength
middleLength
slowLength
lengthIFT
iftStoch(kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD, lengthIFT)
Parameters:
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
lengthIFT
iftTSI(source, shortLength, longLength, maType, almaOffset, almaSigma, lsmaOffSet, lengthIFT)
Parameters:
source
shortLength
longLength
maType
almaOffset
almaSigma
lsmaOffSet
lengthIFT
iftCCI(source, length, maType, almaOffset, almaSigma, lsmaOffSet, lengthIFT)
Parameters:
source
length
maType
almaOffset
almaSigma
lsmaOffSet
lengthIFT
iftFisher(length, lengthIFT)
Parameters:
length
lengthIFT
iftMACD(source, fastLength, slowLength, signalLength, maTypeFast, maTypeSlow, maTypeMACD, almaOffset, almaSigma, lsmaOffSet, lengthIFT)
Parameters:
source
fastLength
slowLength
signalLength
maTypeFast
maTypeSlow
maTypeMACD
almaOffset
almaSigma
lsmaOffSet
lengthIFT
iftWPR(source, length, lengthIFT)
Parameters:
source
length
lengthIFT
iftMFI(source, length, lengthIFT)
Parameters:
source
length
lengthIFT
iftCMF(length, lengthIFT)
Parameters:
length
lengthIFT
iftVO(shortLen, longLen, maType, almaOffset, almaSigma, lsmaOffSet, lengthIFT)
Parameters:
shortLen
longLen
maType
almaOffset
almaSigma
lsmaOffSet
lengthIFT
iftVROC(length, lengthIFT)
Parameters:
length
lengthIFT
smiRSI(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiROC(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiVROC(length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiWPR(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiFT(length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiFT(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiCCI(source, length, maTypeCCI, almaOffsetCCI, almaSigmaCCI, lsmaOffSetCCI, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
maTypeCCI
almaOffsetCCI
almaSigmaCCI
lsmaOffSetCCI
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiUO(fastLength, middleLength, slowLength, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
fastLength
middleLength
slowLength
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiMACD(source, fastLength, slowLength, signalLength, maTypeFast, maTypeSlow, maTypeMACD, almaOffset, almaSigma, lsmaOffSet, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
fastLength
slowLength
signalLength
maTypeFast
maTypeSlow
maTypeMACD
almaOffset
almaSigma
lsmaOffSet
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiVol(shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiMFI(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiCMF(length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiOBV(source, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiPVT(source, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiVO(shortLen, longLen, maType, almaOffset, almaSigma, lsmaOffSet, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
shortLen
longLen
maType
almaOffset
almaSigma
lsmaOffSet
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiPVI(source, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiNVI(source, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
rsiVolume(length)
Parameters:
length
rsiMA(sourceMA, lengthMA, maType, almaOffset, almaSigma, lsmaOffSet, lengthRSI)
Parameters:
sourceMA
lengthMA
maType
almaOffset
almaSigma
lsmaOffSet
lengthRSI
Bar metrics / quantifytools— Overview
Rather than eyeball evaluating bullishness/bearishness in any given bar, bar metrics allow a quantified approach using three basic fundamental data points: relative close, relative volatility and relative volume. These data points are visualized in a discreet data dashboard form, next to all real-time bars. Each value also has a dot in front, representing color coded extremes in the values.
Relative close represents position of bar's close relative to high and low, high of bar being 100% and low of bar being 0%. Relative close indicates strength of bulls/bears in a given bar, the higher the better for bulls, the lower the better for bears. Relative volatility (bar range, high - low) and relative volume are presented in a form of a multiplier, relative to their respective moving averages (SMA 20). A value of 1x indicates volume/volatility being on par with moving average, 2x indicates volume/volatility being twice as much as moving average and so on. Relative volume and volatility can be used for measuring general market participant interest, the "weight of the bar" as it were.
— Features
Users can gauge past bar metrics using lookback via input menu. Past bars, especially recent ones, are helpful for giving context for current bar metrics. Lookback bars are highlighted on the chart using a yellow box and metrics presented on the data dashboard with lookback symbols:
To inspect bar metric data and its implications, users can highlight bars with specified bracket values for each metric:
When bar highlighter is toggled on and desired bar metric values set, alert for the specified combination can be toggled on via alert menu. Note that bar highlighter must be enabled in order for alerts to function.
— Visuals
Bar metric dots are gradient colored the following way:
Relative volatility & volume
0x -> 1x / Neutral (white) -> Light (yellow)
1x -> 1.7x / Light (yellow) -> Medium (orange)
1.7x -> 2.4x / Medium (orange) -> Heavy (red)
Relative close
0% -> 25% / Heavy bearish (red) -> Light bearish (dark red)
25% -> 45% / Light bearish (dark red) -> Neutral (white)
45% - 55% / Neutral (white)
55% -> 75% / Neutral (white) -> Light bullish (dark green)
75% -> 100% / Light bullish (dark green) -> Heavy bullish (green)
All colors can be adjusted via input menu. Label size, label distance from bar (offset) and text format (regular/stealth) can be adjusted via input menu as well:
— Practical guide
As interpretation of bar metrics is highly contextual, it is especially important to use other means in conjunction with the metrics. Levels, oscillators, moving averages, whatever you have found useful for your process. In short, relative close indicates directional bias and relative volume/volatility indicates "weight" of directional bias.
General interpretation
High relative close, low relative volume/volatility = mildly bullish, bias up/consolidation
High relative close, medium relative volume/volatility = bullish, bias up
High relative close, high relative volume/volatility = exuberantly bullish, bias up/down depending on context
Medium relative close, low relative volume/volatility = noise, no bias
Medium relative close, medium to high relative volume/volatility = indecision, further evidence needed to evaluate bias
Low relative close, low relative volume/volatility = mildly bearish, bias down/consolidation
Low relative close, medium relative volume/volatility = bearish, bias down
Low relative close, high relative volume/volatility = exuberantly bearish, bias down/up depending on context
Nuances & considerations
As to relative close, it's important to note that each bar is a trading range when viewed on a lower timeframe, ES 1W vs. ES 4H:
When relative close is high, bulls were able to push price to range high by the time of close. When relative close is low, bears were able to push price to range low by the time of close. In other words, bulls/bears were able to gain the upper hand over a given trading range, hinting strength for the side that made the final push. When relative close is around middle range (40-60%), it can be said neither side is clearly dominating the range, hinting neutral/indecision bias from a relative close perspective.
As to relative volume/volatility, low values (less than ~0.7x) imply bar has low market participant interest and therefore is likely insignificant, as it is "lacking weight". Values close to or above 1x imply meaningful market participant interest, whereas values well above 1x (greater than ~1.3x) imply exuberance. This exuberance can manifest as initiation (beginning of a trend) or as exhaustion (end of a trend):
AbdulLibraryLibrary "AbdulLibrary"
The library consists of three sections:
Technical Analysis Functions - A collection of tools commonly used by day traders
Trading Setup Filters Functions - A number of filters that help day traders to screen trading signals
Candlestick Pattern Detection Functions - To detect different candlestick patterns that are used in day trading setups
Note that this would have been possible without the help of @ZenAndTheArtOfTrading as I build-up this library after completing his pine script mastery course so big thanks to him
The content of the library are:-
fibLevels(preDayClose, preDayHigh, preDayLow) Calculates Daily Pivot Point and Fibonacci Key Levels
Parameters:
preDayClose : The previous day candle close
preDayHigh : The previous day candle high
preDayLow : The previous day candle low
Returns: Returns Daily Pivot Point and Fibonacci Key Levels as a tuple
bullishFib(canHigh, canLow, fibLevel) Calculates Fibonacci Levels in Bullish move
Parameters:
canHigh : The high of the move
canLow : The low of the move
fibLevel : The Fib level as % you want to calculate
Returns: Returns The Fib level for the Bullish move
bearishFib(canHigh, canLow, fibLevel) Calculates Fibonacci Levels in Bearish move
Parameters:
canHigh : The high of the move
canLow : The low of the move
fibLevel : The Fib level as % you want to calculate
Returns: Returns The Fib level for the Bearish move
getCandleSize() Calculates the size of candle (high - low) in points
Returns: Returns candle size in points
getCandleBodySize() Calculates the size of candle (close - open) in points
Returns: Returns candle body size in points
getHighWickSize() Calculates the high wick size of candle in points
Returns: Returns The high wick size of candle in points
getLowWickSize() Calculates the low wick size of candle in points
Returns: Returns The low wick size of candle in points
getBodyPercentage() Calculates the candle body size as % of overall candle size
Returns: Returns The candle body size as % of overall candle size
isSwingHigh(period) Checks if the price has created new swing high over a period of time
Parameters:
period : The lookback time we want to check for swing high
Returns: Returns True if the current candle or the previous candle is a swing high
isSwingLow(period) Checks if the price has created new swing low over a period of time
Parameters:
period : The lookback time we want to check for swing low
Returns: Returns True if the current candle or the previous candle is a swing low
isDojiSwingHigh(period) Checks if a doji is a swing high over a period of time
Parameters:
period : The lookback time we want to check for swing high
Returns: Returns True if the doji is a swing high
isDojiSwingLow(period) Checks if a doji is a swing low over a period of time
Parameters:
period : The lookback time we want to check for swing low
Returns: Returns True if the doji is a swing low
isBigBody(atrFilter, atr, candleBodySize, multiplier) Checks if a candle has big body compared to ATR
Parameters:
atrFilter : Check if user wants to use ATR to filter candle-setup signals
atr : The ATR value to be used to compare candle body size
candleBodySize : The candle body size
multiplier : The multiplier to be used to compare candle body size
Returns: Returns Boolean true if the candle setup is big
isSmallBody(atrFilter, atr, candleBodySize, multiplier) Checks if a candle has small body compared to ATR
Parameters:
atrFilter : Check if user wants to use ATR to filter candle-setup signals
atr : The ATR value to be used to compare candle body size
candleBodySize : The candle body size
multiplier : The multiplier to be used to compare candle body size
Returns: Returns Boolean true if the candle setup is small
isHammer(fibLevel, colorMatch) Checks if a candle is a hammer based on user input parameters and candle conditions
Parameters:
fibLevel : Fib level to base candle body on
colorMatch : Checks if user needs for the candel to be green
Returns: Returns Boolean - True if the candle setup is hammer
isShootingStar(fibLevel, colorMatch) Checks if a candle is a shooting star based on user input parameters and candle conditions
Parameters:
fibLevel : Fib level to base candle body on
colorMatch : Checks if user needs for the candel to be red
Returns: Returns Boolean - True if the candle setup is star
isBullEngCan(allowance, period) Check if a candle is a bullish engulfing candle
Parameters:
allowance : How many points the candle open is allowed to be off (To allow for gaps)
period : The lookback period for swing low check
Returns: Boolean - True only if the candle is a bullish engulfing candle
isBearEngCan(allowance, period) Check if a candle is a bearish engulfing candle
Parameters:
allowance : How many points the candle open is allowed to be off (To allow for gaps)
period : The lookback period for swing high check
Returns: Boolean - True only if the candle is a bearish engulfing candle
isBullDoji(maxSize, wickLimit, colorFilter) Check if a candle is a bullish doji candle
Parameters:
maxSize : Maximum candle body size as % of total candle size to be considered as doji
wickLimit : Maximum wick size of one wick compared to the other wick
colorFilter : Checks if the doji is green
Returns: Boolean - True if the candle is a bullish doji
isBearDoji(maxSize, wickLimit, colorFilter) Check if a candle is a bearish doji candle
Parameters:
maxSize : Maximum candle body size as % of total candle size to be considered as doji
wickLimit : Maximum wick size of one wick compared to the other wick
colorFilter : Checks if the doji is red
Returns: Boolean - True if the candle is a bearish doji
isBullOutBar() Check if a candle is a bullish outside bar
Returns: Boolean - True if the candle is a bullish outside bar
isInsideBar() Check if a candle is an inside bar
Returns: Returns Boolean - True if a candle is an inside bar
coates moving averages (cma)This indicator uses three moving averages:
2 period low simple ma
2 period high simple ma
9 period least squares ma
The trend is determined by the angle of the moving averages, current close relative the the 9 least squares ma (lsm) and the current close relative to the prior two periods high and low.
When there are consecutive closes inside the prior two candles high and low then a range is signaled:
In ranges the buy zone is between the lowest low and the lowest close of the current range. The sell zone is between the highest high and the highest close. The zones are adjusted as long as the new close is within the prior two candles range:
When price closes above the 2 high ma and the 9 lsm then a bull trend is signaled if all moving averages are angled upward (as seen at #4 in the chart above and #1 the chart below ). If the 9 lsm and / or the 2 low ma continue to angle downward, following a close above the 2 high ma and 9 lsm, then a prolonged range or reversal is expected (#2 in the chart below):
During a bull trend the buy zone is between the 2 low ma and the 9 lsm. The profit target is the 2 high ma:
During dip buying opportunities price should resist closing below the 9 lsm. If there is one close below the 9 lsm then it is a canary in the coalmine that tells us to proceed with caution. This will often signal a range, based on the conditions outlined above. To avoid a prolonged range, or reversal, price needs to immediately react in the direction of the prevailing trend:
If the moving averages are angled down and the most recent close is below the 2 low ma and 9 lsm then trend is fully bearish:
During a bear trend the short zone is between the 2 high ma and 9 lsm. The profit target is the 2 low ma:
When the 2 high ma angles down and the 2 low ma angles up while price closes inside both mas then it indicates a cma squeeze:
Volatility is expected in the direction of the breakout following the squeeze. In this situation traps / shakeouts are common. If there is a wick outside the cma, with a close inside, then it indicates a trap / shakeout. If there is a close outside the 2 high / low ma then it signals a breakout.
A trend is considered balanced when the 9 lsm is roughly equidistant from the 2 low and 2 high mas. If the 9 lsm crosses the 2 high or 2 low ma then it signals exhaustion / imbalance.
For a stop loss I use the prior three periods low, for bull trends, and the prior three periods high for bear trends. I would expect other reliable stops, such as the parabolic sar or bill williams fractal, to be effective as well. The default moving averages should be very effective on all timeframes and assets classes, however this indicator was developed for bitcoin with a focus on higher timeframes such as the 4h, daily and weekly.
As with any other technical indicator there will be bad signals. Proceed with caution and never risk more than you are willing to lose.
Dekidaka-Ashi - Candles And Volume Teaming Up (Again)The introduction of candlestick methods for market price data visualization might be one of the most important events in the history of technical analysis, as it totally changed the way to see a trading chart. Candlestick charts are extremely efficient, as they allow the trader to visualize the opening, high, low and closing price (OHLC) each at the same time, something impossible with a traditional line chart. Candlesticks are also cleaner than bars charts and make a more efficient use of space. Japanese peoples are always better than everyone at an incredible amount of stuff, look at what they made, the candlesticks/renko/kagi/heikin-ashi charts, the Ichimoku, manga, ecchi...
However classical candlesticks only include historical market price data, and won't include other type of data such as volume, which is considered by many investors a key information toward effective financial forecasting as volume is an indicator of trading activity. In order to tackle to this problem solutions where proposed, the most common one being to adapt the width of the candle based on the amount of volume, this method is the most commonly accepted one when it comes to visualizing both volume and OHLC data using candlesticks.
Now why proposing an additional tool for volume data visualization ? Because the classical width approach don't provide usable data regarding volume (as the width is directly related to the volume data). Therefore a new trading tool based on candlesticks that allow the trader to gain access to information about the volume is proposed. The approach is based on rescaling the volume directly to the price without the direct use of user settings. We will also see that this tool allow to create support and resistances as well as providing signals based on a breakout methodology.
Dekidaka-Ashi - Kakatte Koi Yo!
"Dekidaka" (出来高) mean "Volume" in a financial context, while "Ashi" (足) mean "leg" or "bar". In general methods based on candlesticks will have "Ashi" in their name.
Now that the name of the indicator has been explained lets see how it works, the indicator should be overlayed directly to a candlestick chart. The proposed method don't alter the shape of the candlesticks and allow to visualize any information given by the candles. As you can see on the figure below the candle body of the proposed tool only return the border of the candle, this allow to show the high/low wick of the candle.
The body size of the candle is based on two things : the absolute close/open difference, and the volume, if the absolute close/open difference is high and the volume is high then the body of the candle will be clearly visible, if the volume is high but the absolute close/open difference is low, then the body will be less visible. This approach is used because of the rescaling method used, the volume is divided by the sum between the current volume value and the precedent volume value, this rescale the volume in a (0,1) range, this result is multiplied by the absolute close/open difference and added/subtracted to the high/low price. The original approach was based on normalization using the rolling maximum, but this approach would have led to repainting.
You have access to certain settings that can help you obtain a better visualization, the first one being the body size setting, with higher values increasing the body amplitude.
In green body with size 2, in red with size 1. The smooth parameter will smooth the volume data before being used, this allow to create more visible bodies.
Here smooth = 100.
Making Bands From The Dekidaka-Ashi
This tool is made so it output two rescaled volume values, with the highest value being denoted as "Dekidaka-high" and the lowest one as "Dekidaka-low". In order to get bands we must use two moving averages, one using the Dekidaka-high as input and the other one using Dekidaka-low, the body size parameter should be fairly high, therefore i will hide the tool as it could cause trouble visualizing the bands.
Bands with both MA's of period 20 and the body size equal to 20. Larger periods of the MA's will require a larger amount of body size.
Breakout Signals
There is a wide variety of signals that can be made from candles, ones i personally like comes from the HA candles. The proposed tool is no exception and can produce a wide variety of signals. The signals generated are basic ones based on a breakout methodology, here is each signal with their associated label :
Strong Bullish signal "⇈" : The high price cross the Dekidaka-high and the closing price is greater than the opening price
Strong Bearish signal "⇊" : The low price cross the Dekidaka-low and the closing price is lower than the opening price
Weak Bullish signal "↑" : The high price cross the Dekidaka-high and the closing price is lower than the opening price
Weak Bearish signal "↓" : The low price cross the Dekidaka-low and the closing price is greater than the opening price
Uncertain "↕" : The high price cross the Dekidaka-high and the low price cross the the Dekidaka-low
In order to see the signals on the chart check the "Show signals" option. Note that such signals are not based on an advanced study, and even if they are based on a breakout methodology we can see that volatile movement rarely produce signals, therefore signals mostly occur during low volume/volatility periods, which isn't necessarily a great thing.
Conclusion
A trading tool based on candlesticks that aim to include volume information has been presented and a brief methodology has been introduced. A study of the signals generated is required, however i'am not confident at all on their accuracy, i could work on that in the future. We have also seen how to make bands from the tool.
Candlesticks remain a beautiful charting technique that can provide an enormous amount of information to the trader, and even if the accuracy of patterns based on candlesticks is subject to debates, we can all agree that candlesticks will remain the most widely used type of financial chart.
On a side note i mostly use a dark color for a bullish candle, and a light gray for a bearish candle, with the border color being of the same color as the bullish candle. This is in my opinion the best setup for a candlestick chart, as candles using the traditional green/red can kill the eyes and because this setup allow to apply a wide variety of colors to the plot of overlayed indicators without the fear of causing conflict with the candles color.
Thanks for reading ! :3 Nya
A Word
This morning i received some hateful messages on twitter, the users behind them certainly coming from tradingview, so lets be clear, i know i'am not the most liked person in this community, i know that perfectly, but no one merit to be receive hateful messages. I'am not responsible for the losses of peoples using my indicators, nor is tradingview, using technical indicators does not guarantee long term returns, your ability to be profitable will mostly be based on the quality and quantity of knowledge you have.
Reversal Detection v3.1 - Real-Time Pro (Non-Repainting)Reversal Detection Pro v3.1 - Universal Non-Repainting
ACKNOWLEDGMENTS
Special thanks to @ksiva100 for extensive testing and detailed feedback on v3.0 that led to the major improvements in v3.1. Their real-world testing on GC, ES, NQ, NG, and CL futures across 3-5 minute timeframes identified critical issues with sensitivity scaling and helped shape the universal ATR-adaptive system that makes this version work seamlessly across all instruments and timeframes.
Community feedback like this is invaluable in creating better tools for all traders.
FULL DESCRIPTION:
OVERVIEW
Reversal Detection Pro v3.1 is a non-repainting reversal identification system designed for futures trading across all timeframes. The indicator uses ATR-adaptive thresholds combined with a zigzag-based pivot detection algorithm to identify confirmed price reversals. A triple EMA trend filter provides directional context, while optional supply/demand zones highlight key reversal areas.
The indicator automatically scales to any instrument's price level and volatility through its ATR-adaptive mechanism, eliminating the need for manual threshold adjustments when switching between instruments or timeframes.
KEY FEATURES
Non-Repainting Confirmation System
All confirmed reversal signals are final and do not disappear or move to different bars. The indicator includes an optional preview mode that shows potential reversals before confirmation, clearly labeled to distinguish them from confirmed signals. Users can add extra confirmation bars for additional validation before signals appear.
ATR-Adaptive Sensitivity
The indicator uses Average True Range (ATR) as its primary sensitivity mechanism. Five preset sensitivity levels (Very High, High, Medium, Low, Very Low) multiply the ATR by factors ranging from 0.8x to 3.5x. This approach automatically adapts to:
Different price levels (works equally on $25 micro futures and $25,000 instruments)
Varying volatility conditions (calm vs. volatile markets)
Multiple timeframes (1-minute through daily charts)
Different trading sessions (regular hours vs. after-hours)
Triple EMA Trend Detection
Three exponential moving averages (9, 14, and 21 periods) create a trend identification system. The info table displays current trend status as BULLISH, BEARISH, or NEUTRAL. Strong signals occur when a reversal aligns with the prevailing trend direction.
Supply and Demand Zones
Optional rectangular zones display at confirmed pivot points. These zones are color-coded (green for demand/support, red for supply/resistance) and can be configured for thickness, extension length, and maximum number displayed. Zones can be toggled on or off independently of reversal signals.
Information Display Table
A customizable table shows real-time indicator settings including:
Current signal mode (Confirmed Only, Preview, or Both)
Active sensitivity preset
ATR multiplier value
Percentage threshold
Current ATR reading
Calculated reversal threshold
Current trend status
Comprehensive Alert System
Eight different alert conditions cover all signal types:
Bullish reversal confirmed
Bearish reversal confirmed
Any reversal (combined)
EMA buy signal (trend change to bullish)
EMA sell signal (trend change to bearish)
Trend changed to bullish
Trend changed to bearish
Strong bullish (reversal + bullish trend aligned)
Strong bearish (reversal + bearish trend aligned)
HOW IT WORKS
Reversal Detection Algorithm
The indicator tracks price using a zigzag methodology that requires a minimum reversal amount before confirming a pivot. This reversal threshold is calculated using three components:
ATR Component (Primary): ATR × Sensitivity Multiplier
Percentage Component (Safety Floor): Close Price × Percentage Threshold
Absolute Component (Minimum Floor): Fixed dollar/point amount
The reversal threshold equals whichever of these three values is largest. This ensures appropriate sensitivity across all instruments and timeframes.
Pivot Confirmation Process
Price must move in one direction to establish a high or low pivot point. When price reverses by the minimum threshold amount, that pivot is confirmed. A reversal signal triggers when price subsequently breaks through the previous confirmed pivot in the opposite direction.
Signal Generation
Green labels and lines: Bullish reversal confirmed (buy signal)
Red labels and lines: Bearish reversal confirmed (sell signal)
Preview labels (if enabled): Potential reversals not yet confirmed (semi-transparent)
Trend Filter Operation
The 9/14/21 EMA system identifies trend direction:
BULLISH: 9 EMA > 14 EMA > 21 EMA, with price above 9 EMA
BEARISH: 9 EMA < 14 EMA < 21 EMA, with price below 9 EMA
NEUTRAL: EMAs not in sequential order
Strong signals occur when reversals align with trend direction.
HOW TO USE
Initial Setup
Add Indicator to Chart
Search "Reversal Detection Pro v3.1" in TradingView indicators
Click to add to any futures chart
Default settings work immediately on any instrument/timeframe
Choose Signal Mode (Signal Controls section)
Confirmed Only: Shows only final, non-repainting signals (recommended for trading)
Confirmed + Preview: Shows both confirmed and potential signals
Preview Only: Shows only potential signals (educational/learning mode)
Set "Extra Confirmation Bars" to 0 for immediate signals, or 1-5 for additional validation
Select Sensitivity (Main Controls section)
Very High: Maximum signals, catches small swings (0.8× ATR)
High: Active trading with more opportunities (1.2× ATR)
Medium: Balanced quality and quantity - recommended starting point (2.0× ATR)
Low: Conservative, higher quality signals (2.8× ATR)
Very Low: Major reversals only, highest quality (3.5× ATR)
Recommended Settings by Timeframe
1-2 Minute Charts (Ultra-Short Scalping)
Sensitivity: High or Very High
Confirmation Bars: 0
Expected: 10-20+ signals per session
Best for: Quick scalps, high-frequency trading
3-5 Minute Charts (Active Day Trading)
Sensitivity: Medium or High
Confirmation Bars: 0-1
Expected: 5-15 signals per session
Best for: Standard scalping, intraday swings
15-30 Minute Charts (Swing Trading)
Sensitivity: Medium or Low
Confirmation Bars: 0-1
Expected: 2-8 signals per session
Best for: Larger intraday swings, part-time trading
1-4 Hour Charts (Position Trading)
Sensitivity: Low or Very Low
Confirmation Bars: 1-2
Expected: 1-5 signals per week
Best for: Multi-day position trades
Daily Charts (Long-Term Swing Trading)
Sensitivity: Very Low
Confirmation Bars: 1-3
Expected: 1-4 signals per month
Best for: Weekly to monthly swing trades
Customizing Display
Supply/Demand Zones (Zones section)
Enable "Show Supply/Demand Zones" to display rectangular areas at pivots
Adjust "Number of Zones" to control how many recent zones appear (0-20)
Set "Zone Box Extension" for forward projection length (5-100 bars)
Modify "Zone Thickness" as percentage of price (0.01%-0.2%)
Visual Elements (Labels section)
"Stop Line Extension": Length of horizontal lines at reversal points (1-50 bars)
"Maximum Lines to Display": Limits historical lines visible (3-50)
"Label Size": Small, Normal, or Large text
Information Table (Info Table section)
Toggle "Show Info Table" on/off
Choose "Table Position": Six position options
Select "Table Size": Tiny through Huge
Setting Up Alerts
Click the "Alert" button (clock icon) on TradingView
Select "Reversal Detection Pro v3.1" from Condition dropdown
Choose specific alert type or "Any REVERSAL" for all signals
Set "Options" to "Once Per Bar Close" (recommended)
Configure notifications (popup, email, SMS, webhook)
Name your alert and click "Create"
For highest-probability trades, use "STRONG Bullish Signal" and "STRONG Bearish Signal" alerts which combine reversals with trend confirmation.
Advanced Settings (Custom Mode)
For experienced users, selecting "Custom" sensitivity unlocks manual control:
Calculation Method: "average" for smoother signals, "high_low" for more responsive
Percentage Reversal: Manual percentage threshold (0.01%-1.0%)
Absolute Reversal: Fixed dollar/point minimum ($0.01-$50)
ATR Multiplier: Manual ATR multiplication factor (0.1-10.0)
ATR Length: Period for ATR calculation (1-50, standard is 14)
Average Length: Smoothing period for high/low when using "average" method (1-50)
Trading Workflow Example
Identify Market Context
Check info table for trend status (BULLISH, BEARISH, NEUTRAL)
Note current ATR and reversal threshold values
Observe recent reversal signal quality
Wait for Signal
Green label = potential long entry (bullish reversal)
Red label = potential short entry (bearish reversal)
Horizontal line shows reversal pivot level
Evaluate Signal Quality
Strongest signals align with trend (STRONG alerts)
Check if reversal occurs at supply/demand zone
Verify adequate volume on reversal bar
Execute Trade
Enter on signal confirmation
Place stop loss below/above reversal pivot line
Target next supply/demand zone or opposing reversal signal
Manage Position
Trail stop loss with price movement
Take partial profits at zones
Exit on opposing reversal signal or stop hit
Multi-Timeframe Analysis
For optimal results, use multiple timeframes:
Higher timeframe (3-5× larger): Determine overall trend direction
Trading timeframe: Execute trades on reversal signals
Lower timeframe (3-5× smaller): Fine-tune entries and exits
Example: Trade ES futures
1 Hour chart: Identify BULLISH trend
5 Minute chart: Take only green (long) reversal signals
1 Minute chart: Time precise entry after signal appears
IMPORTANT USAGE NOTES
Understanding Signal Timing
This is a reversal identification indicator, not a prediction tool. Signals appear AFTER price begins reversing from a pivot, not at the exact top or bottom. This is intentional design - the confirmation process ensures reliability at the cost of capturing the absolute extremes.
Timeframe and Signal Frequency
Higher timeframes naturally produce fewer signals. This is correct behavior:
Daily charts: 1-4 signals per month is normal
1-hour charts: 1-5 signals per week is normal
5-minute charts: 5-15 signals per day is normal
1-minute charts: 10+ signals per hour is normal
If you want more signals, either use a lower timeframe or higher sensitivity setting.
Optimal Market Conditions
Best performance occurs during:
Regular trading hours (RTH) with normal volume
Trending or ranging markets
Liquid instruments with tight spreads
Normal volatility environments
Reduced performance may occur during:
Major economic announcements (FOMC, NFP, CPI)
Opening gaps or halted trading
Extremely thin markets (after-hours, holidays)
Flash crash or extreme volatility events
Risk Management Requirements
Always use stop losses (place beyond reversal pivot)
Position size appropriately (1-2% account risk per trade)
Account for commissions and slippage in planning
Never trade with funds you cannot afford to lose
Paper trade new settings before using real capital
Not a Complete Trading System
This indicator identifies potential reversal points but should be used as part of a complete trading plan including:
Overall market analysis and context
Risk/reward assessment
Position sizing methodology
Trade management rules
Psychological discipline
TECHNICAL SPECIFICATIONS
Calculation Method
Base Algorithm: Modified zigzag with adaptive thresholds
Primary Sensitivity: ATR-based multiplier system
Trend Filter: Triple EMA (9/14/21 exponential moving averages)
Price Calculation: Configurable (high/low or EMA-smoothed high/low)
Confirmation: Configurable delayed confirmation (0-5 bars)
Resource Usage
Maximum Boxes: 50 (for supply/demand zones)
Maximum Lines: 200 (user-configurable display limit)
Maximum Labels: 100 (for reversal markers)
Calculation Speed: Fast (minimal computational overhead)
Compatibility
TradingView Pine Script: Version 6
Chart Types: All (candlestick, bar, line, etc.)
Instruments: All futures contracts (optimized for liquid markets)
Timeframes: All (1 second through 1 month)
Features: Alerts, Strategy Tester compatible
SUITABLE INSTRUMENTS
Micro E-mini Futures
MES (Micro E-mini S&P 500), MNQ (Micro E-mini Nasdaq-100), MYM (Micro E-mini Dow), M2K (Micro E-mini Russell 2000), MGC (Micro Gold), MCL (Micro Crude Oil)
E-mini Futures
ES (E-mini S&P 500), NQ (E-mini Nasdaq-100), YM (E-mini Dow), RTY (E-mini Russell 2000)
Commodities
GC (Gold), SI (Silver), CL (Crude Oil), NG (Natural Gas), HG (Copper), ZW (Wheat), ZC (Corn), ZS (Soybeans)
Indices
SPX (S&P 500 Index), NDX (Nasdaq-100 Index), DJI (Dow Jones Industrial Average)
Currencies
6E (Euro FX), 6B (British Pound), 6J (Japanese Yen), 6A (Australian Dollar)
Interest Rates
ZB (30-Year T-Bond), ZN (10-Year T-Note), ZF (5-Year T-Note)
Crypto Futures
BTC (Bitcoin Futures), ETH (Ethereum Futures)
The ATR-adaptive system works on any liquid futures contract. Results may vary on extremely thin markets or instruments with unusual price structures.
LIMITATIONS AND CONSIDERATIONS
What This Indicator Does
Identifies confirmed price reversals after they begin
Adapts threshold requirements to market volatility
Provides trend context through EMA analysis
Marks potential support/resistance zones
Generates alerts for reversal conditions
What This Indicator Does NOT Do
Predict future price movements
Guarantee profitable trades
Work equally in all market conditions
Eliminate the need for trader judgment
Replace a complete trading strategy
Known Limitations
Signals lag actual reversal by design (confirmation required)
May generate false signals during choppy, directionless markets
Not optimized for gapping markets or illiquid instruments
Requires normal volatility (extreme VIX can affect performance)
EMAs are lagging indicators (trend status reflects recent past)
User Responsibility
Users are responsible for:
Backtesting settings on their chosen instruments
Understanding how the indicator works before trading
Implementing proper risk management
Complying with their broker's margin requirements
Following applicable regulations in their jurisdiction
DISCLAIMERS
Educational Purpose
This indicator is provided for educational and informational purposes only. It is a technical analysis tool designed to assist traders in identifying potential reversal points. It does not constitute financial advice, investment recommendations, or trading signals.
No Performance Guarantees
Past performance of this indicator does not guarantee future results. Markets are inherently uncertain and no technical indicator can predict future price movements with certainty. Losses are a normal part of trading and users should expect both winning and losing trades.
Risk Warning
Trading futures involves substantial risk of loss and is not suitable for all investors. Users should carefully consider whether trading is appropriate for them in light of their experience, objectives, financial resources, and other relevant circumstances. Users should only trade with capital they can afford to lose entirely.
No Liability
The indicator creator and publisher are not responsible for any losses incurred through use of this indicator. Users assume full responsibility for their trading decisions and outcomes. The indicator is provided "as-is" without warranties of any kind.
Testing Requirement
Users should thoroughly test this indicator using paper trading or small position sizes before committing significant capital. Different instruments, timeframes, and market conditions will produce different results. What works well in one context may not work in another.
Not Investment Advice
Nothing in this description or in the indicator itself constitutes investment advice or a recommendation to buy or sell any security. Users should consult with a licensed financial advisor before making investment decisions.
SUPPORT AND UPDATES
Version Information
Current Version: 3.1
Release Date: 21 January 2025
Pine Script Version: 6
Updates and Improvements
This indicator may receive updates to improve functionality, fix bugs, or add features. Users will automatically receive updates through TradingView's indicator system. Major version changes may include breaking changes to settings or behavior.
User Feedback
Community feedback helps improve the indicator. Users are encouraged to share their experiences, report issues, and suggest enhancements through comments. Please include specific details about instruments, timeframes, and settings when reporting issues.
Following for Updates
Click "Follow" on the @NPR21 profile to receive notifications about new indicators, updates, and educational content.
undan MTF Breakout - Modular V5# Kundan MTF Breakout V6 - Complete User Guide
## 📖 Table of Contents
1. (#overview)
2. (#installation)
3. (#core-strategy)
4. (#understanding-the-signals)
5. (#settings-explained)
6. (#how-to-trade)
7. (#best-practices)
8. (#troubleshooting)
---
## Overview
The **Kundan MTF Breakout V6** is a professional-grade indicator that detects high-probability reversal setups using:
- Multi-timeframe trend confirmation
- Volume tower detection
- Liquidity sweep enhancement
- Signal quality scoring
- Automatic SL/TP calculation
### What Makes This Indicator Unique?
| Feature | Benefit |
|---------|---------|
| Local Tower Volume | Detects volume spikes like your eyes do |
| Signal Scoring | Filters weak setups automatically |
| Liquidity Sweep | Identifies 90%+ probability trades |
| Session Filter | Avoid choppy market hours |
| Auto SL/TP | Know your risk before entering |
---
## Installation
### Step 1: Open TradingView
Go to (tradingview.com) and open any chart.
### Step 2: Open Pine Editor
Click on **Pine Editor** at the bottom of your screen.
### Step 3: Paste the Code
1. Delete any existing code in the editor
2. Copy the entire content of `kundan_mtf_breakout_v6_complete.pine`
3. Paste it into the editor
### Step 4: Save & Add to Chart
1. Click **Save** (Ctrl+S)
2. Name it: "Kundan MTF Breakout V6"
3. Click **Add to Chart**
### Step 5: Configure Settings
Click the ⚙️ gear icon next to the indicator name to open settings.
---
## Core Strategy
### The Pattern We're Trading
```
STEP 1: Big RED candle + HIGH volume (Tower)
↓
This is a "selling climax" - institutions dumping shares
STEP 2: Price creates a ZONE (yellow box on chart)
↓
High of red candle = Breakout level
Low of red candle = Stop loss area
STEP 3: Wait for GREEN candle to CLOSE ABOVE the zone
↓
This confirms buyers have taken control
STEP 4: BUY SIGNAL appears
↓
Enter long with SL below zone
```
### Why This Works
1. **Big red candle + high volume** = Weak hands selling in panic
2. **Price holds the low** = Strong hands absorbing the selling
3. **Breakout above** = Confirmation that selling is exhausted
4. **Low volume breakout** = No resistance left above
### Enhanced Signals (90%+ Probability)
When price **sweeps below the zone** before breaking out:
- This triggers stop losses of early buyers
- Institutions collect cheap shares
- The subsequent breakout is MORE powerful
- Indicator shows: 🔥 BUY 90%+
---
## Understanding the Signals
### Chart Elements
| Element | Color | Meaning |
|---------|-------|---------|
| 🔴 Red Box | Red border | Long setup zone (waiting for breakout) |
| 🟢 Green Box | Green border | Setup triggered (breakout occurred) |
| ⚫ Gray Box | Gray border | Setup expired (no breakout) |
| Green Dashed Line | Green | Breakout level to watch |
| 🔴 Red Solid Line | Red | Stop Loss level |
| 🟢 Green Solid Line | Green | Take Profit 1 |
| 🟩 Lime Solid Line | Lime | Take Profit 2 |
### Signal Labels
| Label | Meaning |
|-------|---------|
| `🔴 LONG #1 ` | Long setup detected, score 75% |
| `BUY` | Standard breakout signal |
| `🔥 BUY 90%+` | Enhanced signal with sweep |
| `SWEEP↓` | Liquidity sweep detected |
### Info Table (Top Right)
The table shows real-time status:
```
┌─────────────────────────────┐
│ 📊 MTF BREAKOUT V6 │ Both │
├─────────────────────────────┤
│ Daily: ⬆️ UP │
│ 4H: ⬆️ UP │
│ HTF Bias: 🟢 BULL │
├─────────────────────────────┤
│ ─── VOLUME ─── │
│ Method: Local Tower │
│ RVOL: 2.35x │
│ High Vol?: ✅ YES │
├─────────────────────────────┤
│ ─── SETUPS ─── │
│ 📈 Long: 2 active | 1 trig│
│ 📉 Short: 0 active | 0 trig│
├─────────────────────────────┤
│ Session: ✅ Active │
│ Scoring: Min 50% │
│ SL/TP: R:R 1.5/2.5 │
└─────────────────────────────┘
```
---
## Settings Explained
### 📊 Multi-Timeframe Settings
| Setting | Default | Description |
|---------|---------|-------------|
| Higher Timeframe 1 | Daily | Primary trend reference |
| Higher Timeframe 2 | 4H | Secondary trend reference |
| Lookback Periods | 5 | Bars to check for higher highs/lows |
| Trend Detection | Flexible | How strict trend must be |
**Tip:** Keep defaults for most markets. Use "Strict" for choppy markets.
### 🎯 Trade Direction
| Option | When to Use |
|--------|-------------|
| Both | Default - take longs and shorts |
| Long Only | Bullish market / uptrend |
| Short Only | Bearish market / downtrend |
### 📈 Volume Detection Settings
| Setting | Default | Description |
|---------|---------|-------------|
| Volume Method | Local Tower | **RECOMMENDED** - Best for detecting spikes |
| Volume Lookback | 20 | Bars to average for comparison |
**Volume Methods Explained:**
| Method | Best For |
|--------|----------|
| **Local Tower** | General use - detects spikes vs neighbors |
| SMA Multiple | Stable volume environments |
| Percentile Rank | Finding top X% volume bars |
| RVOL | Comparing to same time yesterday |
### 📊 Volume Method Parameters
| Setting | Default | Description |
|---------|---------|-------------|
| Tower: Neighbor Bars | 5 | Compare to last 5 bars |
| Tower: Must Be X Times | 2.0 | Volume must be 2x neighbors |
| Tower: Must Be Local Max | ON | Must be highest of neighbors |
**Tuning Tips:**
- More signals → Lower multiplier to 1.5
- Fewer signals → Raise multiplier to 2.5+
### 🕯️ Big Candle Detection
| Setting | Default | Description |
|---------|---------|-------------|
| Spread Multiplier | 1.5 | Candle must be 1.5x ATR |
| ATR Period | 14 | Average True Range period |
| Min Body % | 50 | Body must be 50% of candle |
| Require HTF Trend for Setup | OFF | If ON, only with-trend setups |
### 📉 Low Volume Settings (For Breakout)
| Setting | Default | Description |
|---------|---------|-------------|
| Low Volume Method | SMA Multiple | How to detect low volume |
| Low Volume Threshold | 1.0 | Below average (1.0 = below avg) |
| Require Low Vol Breakout | ON | Breakout needs low volume |
| Require Green Breakout | ON | Breakout candle must be green |
### 💧 Liquidity Sweep Settings
| Setting | Default | Description |
|---------|---------|-------------|
| Sweep Buffer % | 0.1 | How far below zone = sweep |
### 💰 Stop Loss / Take Profit
| Setting | Default | Description |
|---------|---------|-------------|
| Show SL/TP | ON | Display levels on chart |
| SL Buffer % | 0.1 | Extra room below setup low |
| TP1 R:R | 1.5 | First target (1.5x risk) |
| TP2 R:R | 2.5 | Second target (2.5x risk) |
**Example:**
- Entry: $100
- Setup Low: $98
- SL: $97.90 (with 0.1% buffer)
- Risk: $2.10
- TP1: $103.15 (1.5 × $2.10)
- TP2: $105.25 (2.5 × $2.10)
### 📊 Signal Quality Scoring
| Setting | Default | Description |
|---------|---------|-------------|
| Enable Scoring | ON | Calculate quality score |
| Min Score to Show | 50 | Hide signals below 50% |
| Show Score on Labels | ON | Display score on chart |
**Score Weights:**
| Factor | Points | What It Measures |
|--------|--------|------------------|
| Volume Strength | 30 | Tower height vs neighbors |
| Candle Size | 25 | Spread vs ATR |
| Trend Alignment | 25 | Agreement with HTF trend |
| Liquidity Sweep | 20 | Bonus if sweep occurred |
**Interpreting Scores:**
- **75-100%**: High quality - trade with confidence
- **50-74%**: Medium quality - trade with caution
- **Below 50%**: Low quality - consider skipping
### 🕐 Session Filter
| Setting | Default | Description |
|---------|---------|-------------|
| Enable Session Filter | OFF | Turn on to filter by time |
| Timezone | America/New_York | Your market timezone |
| London Session | 08:00-12:00 | London hours |
| NY Session | 13:00-17:00 | New York hours |
| Asia Session | 20:00-02:00 | Asia hours |
| Trade Monday-Friday | All ON | Day of week filter |
**When to Use:**
- Enable for Forex to trade during high-liquidity sessions
- Enable for stocks to avoid pre/post market
- Disable for crypto (24/7 market)
---
## How to Trade
### Step-by-Step Trading Process
#### 1. Wait for Setup
- Look for red box appearing on chart
- Check the score (aim for 50%+)
- Note the breakout level (green dashed line)
#### 2. Wait for Sweep (Optional but Better)
- If price dips below the red box → "SWEEP↓" appears
- This upgrades the setup to 90%+ probability
- Be patient for this!
#### 3. Wait for Breakout
- GREEN candle must CLOSE above the zone
- Volume should be LOW (indicator checks this)
- "BUY" or "🔥 BUY 90%+" signal appears
#### 4. Enter the Trade
- Entry: Just above the breakout level
- Stop Loss: Red line (below setup)
- TP1: Green line (take partial profits)
- TP2: Lime line (let remainder run)
#### 5. Manage the Trade
- At TP1: Close 50% of position
- Move SL to breakeven
- Let rest run to TP2
### Example Trade (Long)
```
Chart shows:
┌────────────────────────────────────┐
│ ║ │
│ Entry ──────────────── ║ ───────│ ← Green dashed line
│ ┌──────────────────────║──┐ │
│ │ RED ZONE ║ │ │ ← Yellow box
│ │ 🔴 LONG #1 ║ │ │
│ └──────────────────────║──┘ │
│ SWEEP↓ │ ← Liquidity sweep
│ ║ │
│ SL ─────────────────── ║ ───────│ ← Red line
└────────────────────────────────────┘
After breakout:
┌────────────────────────────────────┐
│ TP2 ─────────────────────────────│ ← Lime line
│ │
│ TP1 ─────────────────────────────│ ← Green line
│ │
│ 🔥 BUY 90%+ │
│ Entry ───────────────────────────│
│ ┌─────────────────────────┐ │
│ │ GREEN ZONE (triggered) │ │
│ └─────────────────────────┘ │
│ SL ──────────────────────────────│
└────────────────────────────────────┘
```
---
## Best Practices
### ✅ DO's
1. **Wait for the signal** - Don't anticipate, let it trigger
2. **Check the score** - Higher score = higher probability
3. **Use proper position sizing** - Risk 1-2% per trade max
4. **Trade with the trend** - HTF bias should match your trade
5. **Be patient for sweeps** - 90%+ signals are worth waiting for
6. **Honor your stop loss** - Never move it further away
### ❌ DON'Ts
1. **Don't chase** - If you missed the signal, wait for next one
2. **Don't overtrade** - Quality over quantity
3. **Don't ignore HTF trend** - Counter-trend setups are riskier
4. **Don't skip low-score setups then FOMO in** - Trust the system
5. **Don't trade during news** - Enable session filter if needed
### Recommended Settings by Market
#### Forex
```
- Session Filter: ON (London + NY)
- Volume Method: Local Tower
- Min Score: 50%
- Trade Direction: Based on HTF trend
```
#### Stocks
```
- Session Filter: ON (NY session only)
- Volume Method: Local Tower
- Min Score: 60%
- Trade Direction: Long Only (bull market) or Both
```
#### Crypto
```
- Session Filter: OFF (24/7 market)
- Volume Method: Local Tower
- Min Score: 50%
- Tower Multiplier: 2.5 (crypto is volatile)
```
#### Indices (ES, NQ, etc.)
```
- Session Filter: ON (NY session)
- Volume Method: Local Tower
- Min Score: 50%
- TP Ratios: 1.5 / 3.0 (indices trend well)
```
---
## Troubleshooting
### Problem: No Setups Appearing
**Check:**
1. Trade Direction matches market (not "Long Only" in downtrend)
2. Volume Method is "Local Tower"
3. Tower Multiplier not too high (try 1.5)
4. HTF Trend requirement is OFF
5. Session Filter is OFF or you're in active session
### Problem: Too Many Setups
**Fix:**
1. Raise Tower Multiplier to 2.5 or 3.0
2. Enable "Must Be Local Max"
3. Raise Min Score to 60% or 70%
4. Enable Session Filter
### Problem: Signals Triggering Late
**Check:**
1. Lower Sustain Bars to 1
2. Ensure "Require Low Vol Breakout" isn't too strict
3. Lower Low Volume Threshold to 1.2
### Problem: SL/TP Lines Not Showing
**Fix:**
1. Enable "Show SL/TP Levels"
2. Enable individual line toggles (SL, TP1, TP2)
3. Make sure you have a triggered signal (not just setup)
### Problem: Script Error
**Common Fixes:**
1. Make sure you copied the ENTIRE script
2. Check TradingView is on Pine Script v5
3. Clear browser cache and reload
4. Try a different browser
---
## Quick Reference Card
### Signal Meanings
| Signal | Action | Probability |
|--------|--------|-------------|
| 🔴 LONG # | Setup detected | Wait |
| BUY | Standard breakout | 70%+ |
| 🔥 BUY 90%+ | Sweep + breakout | 90%+ |
| SWEEP↓ | Stop hunt occurred | Prepare |
### Score Colors
| Color | Score | Quality |
|-------|-------|---------|
| Purple | 75%+ | Excellent |
| Red/Green | 50-74% | Good |
| Gray | <50% | Poor |
### Position Sizing Formula
```
Position Size = (Account × Risk%) / (Entry - SL)
Example:
- Account: $10,000
- Risk: 2% = $200
- Entry: $100
- SL: $98
- Position Size = $200 / $2 = 100 shares
```
---
## Support
If you have questions or issues:
1. Review this guide first
2. Check the Troubleshooting section
3. Test with default settings on a liquid market (ES, SPY, BTC)
**Happy Trading! 🚀**
---
*Version 6.0 | Last Updated: January 2026*
ATR Volatility RegimeATR Volatility Regime
A volatility classification indicator that uses ATR (Average True Range) percentile ranking to identify LOW , NORMAL , HIGH , or EXTREME volatility conditions.
Displayed as a separate pane oscillator (0–100 scale) with colored zones.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 WHY THIS INDICATOR?
Most volatility indicators show raw ATR — a number without context. Is ATR = 50 high or low? Depends on the asset and recent history.
This indicator answers: "Is current volatility high or low for THIS asset, right now?"
What it adds over standard ATR:
Percentile context — Compares current ATR to its own history
Regime classification — Actionable labels instead of raw numbers
Visual zones — Instant read without interpretation
Optional MTF — Lock to a fixed timeframe while viewing another
Auto-adapts — Works on any asset without manual threshold tuning
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📐 CORE CONCEPTS
ATR (Average True Range)
Measures volatility in price units — how much an asset typically moves per bar. Directionless (magnitude only, not direction).
Calculation:
True Range = the greatest of:
High − Low (current bar's range)
|High − Previous Close| (gap up captured)
|Low − Previous Close| (gap down captured)
ATR = Moving average of True Range over N bars (default: 14)
Percentile Rank (Pctl)
Answers: "What percentage of historical values is the current value greater than?"
Pctl = 0% → Lowest ATR in lookback period (extreme compression)
Pctl = 50% → Median ATR (typical volatility)
Pctl = 100% → Highest ATR in lookback period (extreme expansion)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 WHAT IT DOES
Classifies current volatility into four regimes:
LOW (< 25th percentile) — Compression, breakout likely brewing
NORMAL (25th–50th percentile) — Typical market conditions
HIGH (50th–75th percentile) — Elevated volatility, use caution
EXTREME (> 75th percentile) — Rare expansion, tighten stops or stay flat
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 DISPLAY COMPONENTS
Oscillator Line (0–100)
ATR percentile rank over time. Color matches regime:
Blue = LOW
Gray = NORMAL
Orange = HIGH
Red = EXTREME
Zone Backgrounds
Colored bands at threshold levels for instant visual reference.
Status Label
VOL — Current regime
ATR — Raw ATR value (for stop sizing)
Pctl — Percentile rank (0–100%)
TF — Active timeframe (chart or fixed)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 HOW TO USE
LOW Volatility (Pctl < 25%):
Market compressed — "calm before the storm"
Watch for breakout setups
Pctl = 0% often precedes significant moves
NORMAL Volatility (Pctl 25–50%):
Typical conditions
Standard position sizing and stops
HIGH Volatility (Pctl 50–75%):
Elevated movement — reduce size
Widen stops to avoid noise
EXTREME Volatility (Pctl > 75%):
Rare, intense conditions
Avoid new entries or tighten risk
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ SETTINGS
ATR Settings:
ATR Length (default: 14) — Period for ATR calculation
Percentile Lookback (default: 100) — Bars for percentile ranking
Timeframe:
Use Fixed Timeframe (default: off) — Lock calculation to specific TF
Fixed Timeframe (default: D) — TF to use when fixed mode enabled
Thresholds:
Low Threshold (default: 25)
High Threshold (default: 50)
Extreme Threshold (default: 75)
Display:
Show Zone Background — Toggle colored fills
Show Status Label — Toggle info label
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 SUGGESTED LOOKBACK BY ASSET
Crypto — 100 bars (fast regime shifts)
Stocks — 252 bars (one trading year)
Forex — 100–150 bars
Commodities — 150–200 bars (seasonal patterns)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔔 ALERTS
Vol → EXTREME
Vol → HIGH
Vol → LOW
Vol exits HIGH
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 PRACTICAL APPLICATIONS
Stop-Loss Sizing:
Use raw ATR for stops. Example: Stop = Entry − (1.5 × ATR)
Position Sizing:
Reduce size when percentile is HIGH or EXTREME.
Entry Filtering:
LOW regime = prepare for breakout
EXTREME regime = avoid new entries
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 NOTES
Works on any timeframe — adapts to chart or locks to fixed TF
ATR is non-directional — magnitude only
Percentile auto-adapts to each asset's volatility profile
Not a standalone signal — combine with trend/regime filters
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🏷️ TAGS
volatility, ATR, average-true-range, percentile, regime, risk-management, position-sizing, swing-trading, MTF
ICT OTE - Clean v6 (Indicator)ICT OTE — Indicator (Pine v6)
Comprehensive Guide & Rule-Based Trade Plan
This guide explains how to read and trade the Pine v6 indicator version of ICT’s Optimal Trade Entry (OTE). It covers chart elements, the 62–79% OTE zone (with 70.5% mid), confirmation logic, kill-zone gating, rule-based entries/stops/targets, and practical workflows.
1. Overview
The Optimal Trade Entry (OTE) is a core ICT concept that locates high-probability entries inside a Fibonacci retracement window between 62% and 79%, with 70.5% often used as a precise mid level. The indicator highlights that zone for the latest impulse (swing low to swing high for bullish, swing high to swing low for bearish), prints signal labels when price retraces into the box and a confirmation candle forms, and plots visual stop-loss and 1R/2R targets from your chosen entry line (62/70.5/79).
2. What the Indicator Draws
• OTE Box (62–79%): A green box for bullish OTE (drawn between 62% and 79% of the latest bullish impulse) and a red box for bearish OTE (drawn between 62% and 79% retracement of the latest bearish impulse).
• 70.5% Mid Line: A horizontal line through the OTE box at 70.5% (optional).
• Entry Line: Your selected entry reference: Top 62%, Mid 70.5%, or Bottom 79%.
• Signal Labels: ‘OTE Long’ appears when price touches the bullish OTE box and a confirmation candle prints; ‘OTE Short’ for the bearish side.
• Stop-Loss Guide: For longs: swing low of the dealing range; for shorts: swing high of the dealing range (visual plot).
• 1R/2R Target Lines: Two projected lines from the chosen entry to visualize 1R and 2R objectives (purely visual).
• Kill-Zone Shading (optional): Grey shading during London, NY-AM, and NY-PM windows, if gating is enabled.
3. Inputs & Settings
• Pivot Left/Right: Swing detection for impulses using pivot highs/lows (default 3/3).
• Draw OTE Box: Toggle drawing the 62–79% zone.
• Plot 70.5% Mid Line: Toggle the mid-line inside OTE.
• Entry Line: Choose the visual entry anchor (62% / 70.5% / 79%).
• Confirmation: Require a strong candle (default: close > open + continuation vs prior bar for longs; inverse for shorts).
• Stop/Targets: Toggle plotting the swing SL and 1R/2R targets.
• Kill-Zone Gating: If enabled, signals only fire in London (02:00–05:00 NY), NY-AM (08:00–11:00 NY), and NY-PM (13:00–15:00 NY).
• OTE Box Opacity: Adjust visual opacity of the box (default 85).
4. Rule-Based Entry Model
Use these steps exactly; do not skip.
1. Window: Optional — ensure you are inside an ICT kill-zone (London / NY-AM / NY-PM) if gating is enabled.
2. Impulse: Confirm the latest dealing range (pivot-based). Bullish = last swing low precedes last swing high; bearish = last swing high precedes last swing low.
3. OTE Box: Ensure price retraces into the 62–79% zone for the active impulse.
4. Confirmation: Wait for the required confirmation candle (strong or basic, per setting).
5. Entry Anchor: Use your selected line (62/70.5/79) as the reference for planning the fill.
6. Stops: Place SL at the swing extreme of the dealing range (longs: swing low; shorts: swing high).
7. Targets: Map 1R and 2R visual levels from the entry. Optionally prefer opposite liquidity or prior swing if closer (manual).
5. How to Read the Chart Step-by-Step
• Check background shading: are you inside a kill-zone (if enabled)?
• Identify the latest swing high/low markers (dealing range).
• Locate the OTE box for that impulse; confirm price retraced into the box.
• Inspect the confirmation candle: strong body and continuation (for longs: close > open AND close > prior high; for shorts: mirror).
• Use the entry line (62/70.5/79) as the reference; map SL and 1R/2R lines.
• If a signal label prints (‘OTE Long’ or ‘OTE Short’), you have alignment: timing, retracement, and confirmation.
6. Examples
Example Long (NY-AM): Price makes an impulse up (swing low then swing high). During NY-AM kill-zone, price retraces into the green OTE box. A strong bullish candle forms. Entry reference: 70.5% mid. SL at the swing low. Visual TP1/TP2 at 1R/2R.
Example Short (London): Price makes a bearish impulse (swing high then swing low). During London kill-zone, price retraces into the red OTE box. A strong bearish candle forms. Entry reference: 62%. SL at the swing high. Visual TP1/TP2 at 1R/2R.
7. Risk Management
• Fixed percent per trade: e.g., 1% risk relative to account equity (visual targets help sizing).
• One signal per kill-zone window: avoid overtrading inside the same hour.
• Respect invalidations: if a full body closes through the entire box or structure fails, stand down.
• Favor time/volatility windows for execution; avoid thin hours unless testing.
8. Common Pitfalls
• Forcing entries outside OTE: wait for a proper 62–79% retrace.
• Ignoring impulse definition: use confirmed pivots to avoid measuring from noise.
• Skipping confirmation: entries without a qualifying candle are lower quality.
• Inconsistent stops: SL belongs at the impulse extreme; avoid random micro-level stops.
• No timing discipline: kill-zone gating exists to filter low-probability periods.
9. Indicator Parameters — Quick Reference
• Pivot Left/Right: controls swing detection sensitivity (higher = stricter).
• Entry line: choose between 62%, 70.5%, and 79% for your signal anchor.
• Confirmation strength: toggle strong vs basic candle validation.
• Kill-zone gating: optional session-based signal filtering.
• Opacity/colors: cosmetic; adjust to your chart style.
10. Workflow Checklist
• Is the impulse correctly identified (pivot low/high order)?
• Is price inside the OTE box (62–79%)?
• Did the confirmation candle print?
• Is signal gating satisfied (if enabled)?
• Is SL mapped to the impulse extreme?
• Are 1R/2R levels clear from the entry?
• Any scheduled macro events in the window? (avoid surprise volatility).
11. References (ICT OTE & Kill-Zones)
• ICT Fibonacci / OTE levels: 62–79% with 70.5% mid — multiple tutorials and guides.
• ICT Kill-Zones: commonly used London / New York windows for timing entries.
SMT Divergence [Kodexius]SMT Divergence is a correlation-based divergence detector built around the Smart Money Technique concept: when two normally correlated instruments should be making similar swing progress, but one prints a new extreme while the other fails to confirm it. This “disagreement” can be a valuable contextual signal around liquidity runs, distribution phases, and potential reversal or continuation points.
The script compares the chart symbol (primary) with a user-selected comparison symbol (for example BTC vs ETH, ES vs NQ, EUR/USD vs GBP/USD) and automatically scans both instruments for confirmed swing highs and swing lows using pivot logic. Once swings are established, it checks for classic SMT conditions:
Primary makes a new swing extreme while the comparison symbol forms a non-confirming swing .
To support a wider range of markets, the indicator includes an Inverse Correlation option for pairs that typically move opposite to each other (for example DXY vs EUR/USD). With this enabled, the divergence rules are logically flipped so that the script still detects “non-confirmation” in a way that is consistent with the pair’s relationship.
The indicator is designed to be readable and actionable. It can draw divergence labels directly on the main chart, connect the relevant swing points with lines, show a compact information table with the last signal and settings, and optionally render the comparison symbol as a mini candle chart in the indicator pane for quick visual validation.
🔹 Features
🔸 Two-Symbol SMT Analysis (Primary vs Compare)
Select any comparison symbol to evaluate correlation structure and divergence. The script fetches the comparison OHLC data using the current chart timeframe to keep both series aligned for analysis.
🔸 Inverse Correlation Mode
For inversely correlated pairs, enable “Inverse Correlation” so the script interprets confirmation appropriately (for example, a higher low on the comparison instrument might be expected to correspond to a lower low on the primary, depending on the relationship). This helps avoid false conclusions when the pair naturally moves opposite.
🔸 Pivot-Based Swing with Adjustable Sensitivity
Swings are detected using confirmed pivots (left bars and right bars). This provides cleaner structural swing points compared with raw candle-to-candle comparisons, and it lets you control sensitivity for different market conditions and timeframes. The script also limits stored swing history to keep performance stable.
🔸 Flexible Detection Mode: Time Matched or Independent Swings
You can choose how swings are paired across instruments:
Time Matched searches for a comparison swing that occurred at the same pivot time as the primary swing.
Independent Swings compares each symbol’s own last two swings without requiring an exact time match.
🔸 Range Control and Noise Filtering
To reduce weak or irrelevant signals:
“Max Bars Between Swings” ensures the two swings being compared are close enough in structure to be meaningful.
“Min Price Diff (%)” can require a minimum percentage change between the primary’s last two swing prices to confirm the move is significant.
🔸 Clear Visual Output with Tooltips
When a divergence is detected, the script can print a label (“SMT”) with bullish or bearish styling and a tooltip that includes the symbol pair and the primary swing price for quick context.
🔸 Divergence Lines for Context
Optional lines connect the relevant swing points, making it easier to see the exact structure that triggered the signal. One line can be drawn on the main chart and another in the indicator pane for the comparison series.
🔸 Info Table (At a Glance)
A compact table can display the active symbols, correlation mode, total divergences stored, and the most recent signal type.
🔸 Alerts Included
Built-in alert conditions are provided for bullish SMT, bearish SMT, and any SMT event so you can automate notifications without editing the code.
🔸 Optional Comparison Candle Panel
If enabled, the indicator can plot the comparison symbol as candles in the indicator pane. This is useful for confirming whether the divergence is happening around major levels, consolidations, or impulsive legs on the secondary instrument.
🔹 Calculations
This section summarizes the core logic used by the script.
1. Data Synchronization (Comparison Symbol)
The comparison instrument is requested on the chart’s current timeframe so swing calculations are performed consistently:
=
request.security(compareSymbolInput, timeframe.period, )
This ensures pivots and swing times are derived from the same bar cadence as the primary chart.
2. Swing Detection via Confirmed Pivots
Swings are detected using pivot logic with user-defined left and right bars:
primaryPivotHigh = ta.pivothigh(high, pivotLeftBars, pivotRightBars)
primaryPivotLow = ta.pivotlow(low, pivotLeftBars, pivotRightBars)
Because pivots are confirmed only after the “right bars” have closed, the script stores each swing using an offset so the swing’s bar index and time reflect where the pivot actually occurred, not where it was confirmed.
3. Swing Storage and Retrieval
Both symbols maintain arrays of SwingPoint objects. Each new swing is pushed into the array, and older swings are dropped once the array exceeds the configured maximum. This makes the divergence engine predictable and prevents uncontrolled memory growth.
The script then retrieves the last and previous swing highs and lows (per symbol) to evaluate structure.
4. Matching Logic (Time Matched vs Independent)
When “Time Matched” is selected, the script searches the comparison swing array for a pivot that occurred at the exact same timestamp as the primary swing. When “Independent Swings” is selected, it simply uses the comparison symbol’s last two swings of the same type.
5. Bullish SMT Condition (LL vs HL)
A bullish SMT event is defined as:
Primary forms a lower low (last low < previous low)
Comparison forms a higher low (last low > previous low)
If inverse correlation is enabled, the comparison condition flips to maintain logical confirmation rules
The two primary swings must be within the configured bar distance window
Optional minimum percentage difference must be satisfied
A simple anti duplication rule prevents repeated triggers on the same structure
These checks are implemented directly in the bullish detection block.
6. Bearish SMT Condition (HH vs LH)
A bearish SMT event is defined as:
Primary forms a higher high (last high > previous high)
Comparison forms a lower high (last high < previous high)
Inverse correlation flips the comparison rule
Range checks, minimum difference filtering, and duplicate protection apply similarly
These checks are implemented in the bearish detection block.
7. Percentage Difference Filter
The optional “Min Price Diff (%)” filter measures the relative distance between the last two primary swing prices. This prevents very small structural changes from being treated as valid SMT signals.
priceDiffPerc = math.abs(lastSwing.price - prevSwing.price) / prevSwing.price * 100.0
The divergence condition is only allowed to trigger if this value exceeds the user defined threshold.
priceOk = priceDiffPerc >= minPriceDiff
This filter is especially useful on higher timeframes or during low volatility conditions, where micro structure noise can otherwise produce misleading signals.
8. Visualization and Output
When a divergence is confirmed, the script:
Stores the event in a divergence array (limited by “Max Divergences to Display”)
Draws a directional SMT label with a tooltip (optional)
Draws connecting lines using time based coordinates for clean alignment (optional)
It also updates an information table on the last bar only, and exposes alertconditions for automation workflows.
Cold Brew Ranges🧭 Core Logic and Calculation
The fundamental logic for each range (OR and CR) is identical:
Time Definition: Each range is defined by a specific Start Time and a fixed 30-second duration. The timestamp function, using the "America/New_York" time zone, is used to calculate the exact start time in Unix milliseconds for the current day.
Example: t0200 = timestamp(TZ, yC, mC, dC, 2, 0, 0) sets the start time for the 02:00 OR to 2:00:00 AM NY time.
Range Data Collection: The indicator uses the request.security_lower_tf() function to collect the High (hArr) and Low (lArr) prices of all bars that fall within the defined 30-second window, using a user-specified, sub-chart-timeframe (openrangetime, defaulted to "1" second, "30S", or "5" minutes). This ensures high precision in capturing the exact high and low during the 30-second window.
High/Low Determination: It iteratively finds the absolute highest price (OR_high) and the absolute lowest price (OR_low) recorded by the bars during that 30-second window.
Range Locking: Once the current chart bar's time (lastTs) passes the 30-second End Time (tEnd), the High and Low are locked (OR_locked = true), meaning the range calculation is complete for the day.
Drawing: Upon locking, the range is drawn on the chart using line.new for the High, Low, and Equilibrium, and box.new for the shaded fill. The lines are extended to a subsequent time anchor point (e.g., the 02:00 OR is extended to 08:20, the 09:30 OR is extended to 16:00).
Equilibrium (EQ): This is calculated as the simple average (midpoint) of the High and Low of the range.
EQ=
2
OR_High+OR_Low
⏰ Defined Trading Ranges
The indicator defines and tracks the following specific 30-second ranges:
Range Name Type Start Time (NY) Line Extension End Time (NY) Common Market Context
02:00 OR Opening 02:00:00 08:20:00 Asian/European Market Overlap
08:20 OR Opening 08:20:00 16:00:00 Pre-New York Open
09:30 OR Opening 09:30:00 16:00:00 New York Stock Exchange Open (Most significant OR)
18:00 OR Opening 18:00:00 20:00:00 Futures Market Open (Sunday/Monday)
20:00 OR Opening 20:00:00 Next Day's session start Asian Session Start
15:50 CR Closing 15:50:00 20:00:00 New York Close Range
⚙️ Key User Inputs and Customization
The script offers extensive control over which ranges are displayed and how they are visualized:
Range Time & History
openrangetime: Sets the sub-timeframe (e.g., "1" for 1 second) used to calculate the precise High/Low of the 30-second range. Crucial for accuracy.
showHistory: A toggle to show the ranges from previous days (up to a histCap of 50 days).
Range Toggles and Styling
On/Off Toggles: Independent input.bool (e.g., OR_0200_on) to enable or disable the display of each individual range.
Colors & Width: Separate color and width inputs for the High/Low lines (hlC), the Equilibrium line (eqC), and the background fill (fillC) for each range.
Line Styles: Global inputs for the line styles of High/Low (lineStyleInput) and Equilibrium (eqLineStyleInput) lines (Solid, Dotted, or Dashed).
showFill: Global toggle to enable the shaded background box that highlights the area between the High and Low.
Extensions
The script calculates and plots extensions (multiples of the initial range) above the High and below the Low.
showExt: Toggles the visibility of the extension lines.
useRangeMultiples: If true, the step size for each extension level is equal to the initial range size:
Step=Range=OR_High−OR_Low
If false, the step size is a fixed value defined by stepPts (e.g., 60.0 points, which is a common value for NQ futures).
stepCnt: Determines how many extension levels (multiples) are drawn above and below the range (default is 10).
📈 Trading Strategy Implications
The Cold Brew Ranges indicator is a tool for session-based support and resistance and range breakout/reversal strategies.
Key Support/Resistance: The High and Low of these defined opening ranges often act as strong, predefined price levels. Traders look for price rejection off these boundaries or a breakout with conviction.
Equilibrium (Midpoint): The EQ often represents a fair value for that specific session's opening. Movements away from it are seen as opportunities, and a return to it is common.
Extensions: The range extensions serve as potential profit targets or stronger, layered support/resistance levels if the market trends aggressively after the opening range is set.
The core idea is that the activity in the first 30 seconds of a significant trading session (like the NYSE or a market session open) sets a bias and initial boundary for the trading period that follows.
Session Highs and Lows🔑 Key Levels: Session Liquidity & Structure Mapper
The Key Levels indicator is an essential tool for traders as it automatically plots and projects critical Highs and Lows established during key trading sessions. These levels represent major liquidity pools and define the current market structure, serving as high-probability targets, support, or resistance for the remainder of the trading day.
⚙️ Core Functionality
The indicator operates in two distinct modes, tailored for different asset classes:
1. Asset Class Mode (Toggle)
You can switch between two predefined setups depending on the asset you are trading:
Stock Mode (RTH/ETH): Designed for US stocks and futures (e.g., NQ, ES, YM). It tracks and projects levels for Regular Trading Hours (RTH) (09:30-16:00) and Extended Hours (ETH) (16:00-09:30).
Forex/Default Mode (Asia/London/NY): Designed for global markets (e.g., currency pairs). It tracks and projects levels for the three major liquidity sessions: Asia (19:00-03:00), London (03:00-09:30), and New York (09:30-16:00).
🗺️ Key Levels Mapped
The script continuously tracks and plots the most significant structural levels:
Current Session High/Low: The running high and low of the currently active session.
Previous Session High/Low: The confirmed high and low from the most recently completed session. These are often targeted by market makers.
Previous Day High/Low (PDH/PDL): The high and low of the prior 24-hour day, acting as major structural boundaries and a crucial macro market filter.
🎛️ Advanced Liquidity Management
The indicator is built with specific controls for high-level liquidity analysis:
Extend Through Sweeps (Critical Setting):
OFF (Recommended): The projected line is automatically stopped or deleted the moment the price candle wicks or closes past it. This visually confirms that the liquidity at that level has been "swept" or "mitigated."
ON: The line extends indefinitely, treating the level as simple support/resistance, regardless of interaction.
Previous vs. Current View: You can select a checkbox (e.g., Use PREVIOUS London Level) to hide the current session's running levels and only display the static, confirmed high/low from the prior completed session. This helps declutter the chart and focus only on the confirmed structural levels.
Show Older History: Toggle to keep lines from prior days visible, allowing you to track multi-day structural context.
🎯 Trading Application
The lines plotted by the Key Levels indicator provide immediate, actionable information:
Bias Filter: Use the PDH/PDL to determine the overall market context. Trading above the PDH suggests a bullish bias, while trading below the PDL suggests a bearish bias.
Manipulation/Entry: Wait for price to aggressively sweep a Previous Session High/Low (line stops extending). This often signals a liquidity grab or "manipulation" phase. Look for entries in the opposite direction for the main move (Distribution).
Targets: Key levels (especially unmitigated ones) serve as excellent, objective take-profit targets for active trades.






















